测试多组输入数据的合法性

  在上周的博客中测试了文本框中输入数据的合法性。本次我在上次程序的基础上增加了两个输入框,用于测试多组数据检测。

测试用例如下

编号 输入1 输入2 输入3 预期 结果
Test1       1234567  无输入,字符不合法,长度大于6  无输入,字符不合法,长度大于6
Test2   asdfghj  ASDFGHJ 1,.?;:‘8  长度大于6,长度大于6,长度大于6  长度大于6,长度大于6,长度大于6
Test3  1@#$%^7  1(){}[]8 ,.?;:‘  长度大于6,长度大于6,字符不合法  长度大于6,长度大于6,字符不合法
Test4   @#$%^   (){}[] 程序  字符不合法,字符不合法,字符不合法  字符不合法,字符不合法,字符不合法
Test5    asd  ASD 09azAZ  字符不合法,字符不合法,OK!  字符不合法,字符不合法,OK!
Test6   09azAZ  09azAZ    OK!,OK!,无输入  OK!,OK!,无输入

  :Test1的输入1为无输入; 输入2为空格。

Test5的输入1和输入2均为全角字符。

Test6的输入3为空。

测试结果:

      

         

         

  通过检测,发现当输入中含有非法字符且长度大于6时,只指出了长度大于6这一个错误。

代码如下:

import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.HBox;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class SoftwareTesting extends Application{
public static void main(String[ ] args) {
    SoftwareTesting.launch(args);
}
    int count=0;
public void start(Stage primaryStage) {
    primaryStage.setTitle("SoftwareTesting");
    //程序UI设计
    AnchorPane root = new AnchorPane();
    HBox hbox1 = new HBox(8);
    HBox hbox2 = new HBox(8);
    HBox hbox3 = new HBox(8);
    final TextField textfield1 = new TextField();
    final TextField textfield2 = new TextField();
    final TextField textfield3 = new TextField();
    final Text text1 = new Text();
    final Text text2 = new Text();
    final Text text3 = new Text();
    hbox1.setAlignment(Pos.CENTER_LEFT);
    hbox1.getChildren().addAll(new Label("Name1"),textfield1,text1);
    hbox2.setAlignment(Pos.CENTER_LEFT);
    hbox2.getChildren().addAll(new Label("Name2"),textfield2,text2);
    hbox3.setAlignment(Pos.CENTER_LEFT);
    hbox3.getChildren().addAll(new Label("Name3"),textfield3,text3);
    Button btn1 = new Button("  OK  ");
    AnchorPane.setTopAnchor(hbox1, 40.0);
    AnchorPane.setLeftAnchor(hbox1, 60.0);
    AnchorPane.setTopAnchor(hbox2, 80.0);
    AnchorPane.setLeftAnchor(hbox2, 60.0);
    AnchorPane.setTopAnchor(hbox3, 120.0);
    AnchorPane.setLeftAnchor(hbox3, 60.0);
    AnchorPane.setTopAnchor(btn1, 180.0);
    AnchorPane.setRightAnchor(btn1, 150.0);
    root.getChildren().addAll(hbox1,hbox2,hbox3,btn1);
    //鼠标事件
    btn1.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>(){
        public void handle(MouseEvent event){
            String textString1 = textfield1.getText().toString();
            wordTesting(textString1,text1);
            String textString2 = textfield2.getText().toString();
            wordTesting(textString2,text2);
            String textString3 = textfield3.getText().toString();
            wordTesting(textString3,text3);
        }
    });
    primaryStage.setScene(new Scene(root, 380, 250));
    primaryStage.show();
    }
    private void wordTesting(String textString,Text textTesting)
    {
        if(textString==null||textString.length()<=0)
            textTesting.setText("无输入");
        else if(textString.length()>6)
            textTesting.setText("长度大于6");
        else if(textString.matches("[a-zA-Z0-9]{1,6}$"))
            textTesting.setText("OK!");
        else
            textTesting.setText("字符不合法");

    }
} // end of program

时间: 2024-08-01 12:34:58

测试多组输入数据的合法性的相关文章

软件测试第三周作业——测试多个输入的合法性

这次作业,我用JavaFX来写程序测试输入的合法性 这是我的输入界面截图, 三个框同时输入, 按submit即可测试三个输入的合法性, 最后在控制台显示测试结果 测试用例: 等价类的划分: 有效等价类:长度1-6,仅含有a-z,A-Z,0-9的字符 无效等价类:长度0或大于7,含有但并不一定都是除a-z,A-Z,0-9以外的字符,控制字符.标点符号等. 以下是测试用例 第一次测试: 输入: er43t dgddsgdfg fds!# 输出: OK 所有输入长度应为1-6 所有输入字符应为a-z,

TestNG的组测试和组中组测试

在编写测试的过程中,我们经常遇到只想执行个别或者某一部分/某一类型的测试用例,这时我们可以使用TestNG的分组测试方法 分组测试在配置时,TestNG执行的原则是:只保留最小集合进行执行 看代码: /** * * <p> * Title: TestngGroups * </p> * * <p> * 对应配置文件testng-groups.xml * Description:使用groups进行分组测试,include和exclude的原则是保留最小集合, * <

软件测试第三周之测试多个输入的合法性

这一次我主要用的是C#中的正则表达式来测试用户输入的字符串是否合法. 这是我的UI界面: 三个输入框允许用户同时进行输入 输入后摁确定键即可输出测试结果,摁下取消键即可重新进行输入 输出的测试信息显示在右侧的输出文本框中 测试用例: 第一步:等价类型的划分 有效等价类 无效等价类 长度:1到6 长度:0或者大于7 字符:a-z,A-Z,0-9  字符:英文/数字以外字符,控制字符,标点符号 第二步:测试用例的生成 编号 输入字符 期望输出 1 A 有效输入 2 Z 有效输入 3 55136s 有

unittest 3 实例:测试弱密码,如何测试多组数据

目的 考虑这样一个测试弱密码的实例. 我们需要判断用户的密码中包含简单密码,规则是这样的,密码必须至少6位,满足6位的话判断用户的密码不是password123或者password之类的弱密码. 对于如下的测试数据,我们要如何使用unittest来进行相关测试呢? [ {"name":"jack","password":"Iloverose"}, {"name":"rose","

描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。 输入 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。 输出 对于每组输入数据,输出一行,字符中间用一个空格分开。

#include<stdio.h>#include<string.h>int main() { int N; int i,j,t; char a[4]; char m; scanf("%d",&N); getchar(); while(N--) { gets(a); j=strlen(a); for(i=0;i<j;i++) { for(t=0;t<j-1-i;t++) { if(a[t]>a[t+1]) { m=a[t]; a[t]=

ACM 4描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。输入 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,

#include<stdio.h> #include<string.h> int main() { int n; int i,j; char a[4]; int t; char m; scanf("%d",&n);getchar(); while(n--) { gets(a); j=strlen(a); for(i=0;i<j;i++) { for(t=0;t<j-1-i;t++) { if(a[t]>a[t+1]) { m=a[t];

csp-s模拟测试b组加餐antipalindome,randomwalking,string题解

题面:https://www.cnblogs.com/Juve/articles/11599318.html antipalindome: 打表找规律? 对于一个回文串,我们只要保证3位以内不回文即可,即只要不出现三位以内回文就合法 对于前三位:m*(m-1)*(m-2),剩下的n-3个位置用m-2来填 所以$ans=m*(m-1)*(m-2)^(n-2)$,注意边界的判断 #include<iostream> #include<cstdio> #include<cstrin

软件测试中的数据库测试

数据库中数据的基本结构 定义一:数据元素集合(也可称数据对象)中各元素的关系. 定义二:相互之间存在特定关系的数据元素集合. 一个表(数据库),我们就称它为一个数据结构,它由很多记录(数据元素)组成,每个元素又包括很多 字段(数据项)组成数据库测试分类系统测试.集成测试.单元测试.功能测试.性能测试.安全测试系统测试.数据库在初期设计中需要进行分析测试. 对于各种数据元素进行完美融合,并理清相互之间的关系便是数据库结构的基本定义. 在数据库中,不同数据之间会存在既定的特殊关系,其属于各种数据元素

干货分享|安全测试起航之旅

云智慧 汪晓宇 安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程.一句话总结,安全测试就是检查产品是否满足安全需求的过程. 众所周知软件测试分为四大类型,分别是:功能测试.自动化测试.安全测试和性能测试,而安全测试是在功能测试和自动化测试之后,性能测试之前执行的,以免安全测试后修改的一些问题会影响性能. 安全测试的内容通常包括跳过权限验证.修改提交的请求信息等等,复杂一些的产品还要进行SQL注入,跨站点脚本之类的