测试的目标程序

程序代码

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Writer;
import java.net.URL;
import java.util.HashMap;
import java.util.Iterator;

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Orientation;
import javafx.geometry.Pos;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ScrollBar;
import javafx.scene.control.TextField;
import javafx.scene.layout.Background;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.TilePane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class Name extends Application {

public static void main(String[] args) {
launch(args);
}
public void start(Stage primaryStage) {
Group root = new Group();

Label label1 = new Label("Name:");
TextField Name = new TextField();
Name.setMaxWidth(100);
HBox hb = new HBox();
hb.getChildren().add(label1);
hb.getChildren().add(Name);
hb.setSpacing(10);
VBox vb = new VBox();
Button confirm = new Button("confirm");
vb.getChildren().add(hb);
vb.getChildren().add(confirm);
vb.setSpacing(20);
vb.setLayoutX(20);
vb.setLayoutY(40);
root.getStylesheets().add("ad.css");
File file = new File("xiaoshuo/ad.css");
System.out.println(file.exists());
confirm.setOnAction(new EventHandler(){

public void handle(ActionEvent arg0) {
// TODO Auto-generated method stub
//if(Name)
BorderPane al = new BorderPane();
Text t = new Text("success");
StringBuffer s = new StringBuffer(Name.getText());
if(s.length()==0){
t.setText("请输入1-6个英文字母或数字");
}
else if(s.length()>=7){
t.setText("请输入1-6个英文字母或数字");
}
int count=0;

for(int i=0; i<s.length(); i++){
if(s.charAt(i)>='0' && s.charAt(i)<='9'){
System.out.println(s.charAt(0));
count++;
}
else if(s.charAt(i)>='a' && s.charAt(i)<='z'){
System.out.println(s.charAt(0));
count++;
}
else if(s.charAt(i)>='A' && s.charAt(i)<='Z'){

count++;
}
}
if(count!=s.length()){
System.out.println(count);
t.setText("请输入1-6个英文字母或数字");
}
Button back = new Button("confirm");
al.setTop(t);
al.setAlignment(t, Pos.CENTER);
al.setAlignment(back, Pos.CENTER);
al.setCenter(back);
al.setLayoutX(70);
al.setLayoutY(70);
root.getChildren().add(al);
//al.getStyleClass().add("ba");
vb.setOpacity(0.3);
back.setOnAction(new EventHandler(){

@Override
public void handle(ActionEvent arg0) {
// TODO Auto-generated method stub
root.getChildren().remove(al);
vb.setOpacity(1.0);
}});
}
});

root.getChildren().add(vb);
Scene scene = new Scene(root, 400, 200);
primaryStage.setScene(scene);
primaryStage.show();
}

}

 

划分出的等价类

划分方法

编号

有效等价类

编号

无效等价类

长度

1

长度1-6

5

长度0

6

长度>=7

字符

2

含有字符a-z

7

含有中文字符

3

含有字符A-Z

8

含有特殊字符

4

含有字符0-9

测试用例

编号

输入

覆盖的等价类

期望输出

实际输出

1

aA0

1,2,3,4

success

 success

2

5

请输入1-6个英文字母或数字

请输入1-6个英文字母或数字

3

aA01234

6

请输入1-6个英文字母或数字

请输入1-6个英文字母或数字

4

7

请输入1-6个英文字母或数字

请输入1-6个英文字母或数字

5

T_T

8

请输入1-6个英文字母或数字

请输入1-6个英文字母或数字

测试截图

软件测试技术(二)——使用等价类划分的方法进行的UI测试的更多相关文章

  1. 软件测试技术(三)——使用因果图法进行的UI测试

    目标程序 较上次增加两个相同的输入框 使用方法介绍 因果图法 在Introduction to Software Testing by Paul一书中,将软件测试的覆盖标准划分为四类,logical ...

  2. 【哲学角度看软件测试】要想软件“一想之美”,UI 测试少不了

    摘要:软件测试的最高层次需求是:UI测试,也就是这个软件"长得好不好看". 为了让读者更好地理解测试,我们从最基础的概念开始介绍.以一个软件的"轮回"为例,下图 ...

  3. 黑盒测试用例设计方法&理论结合实际 -> 等价类划分

    一. 概念 等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例.每一类的代表性数据在测试中的作用等价于这一类中的其他值. 二. 等价类划分的应用 等价类 ...

  4. 等价类划分方法的应用(jsp)

    [问题描述] 在三个文本框中输入字符串,要求均为1到6个英文字符或数字,按submit提交. [划分等价类] 条件1: 字符合法; 条件2: 输入1长度合法; 条件3: 输入2长度合法: 条件4: 输 ...

  5. 软件测试技术lab2——Selenium上机实验

    Selenium上机实验说明 1.安装SeleniumIDE插件 2.学会使用SeleniumIDE录制脚本和导出脚本 3.访问http://121.193.130.195:8080/使用学号登录系统 ...

  6. Java上等价类划分测试的实现

    利用JavaFx实现对有效等价类和无效等价类的划分: 代码: import javafx.application.Application;import javafx.event.ActionEvent ...

  7. Maven入门系列(二)--设置中央仓库的方法

    原文地址:http://www.codeweblog.com/maven入门系列-二-设置中央仓库的方法/ Maven仓库放在我的文档里好吗?当然不好,重装一次电脑,意味着一切jar都要重新下载和发布 ...

  8. thinkphp二维数组模板输出方法

    thinkphp二维数组模板输出方法 先写个记录,有空再整理发上来

  9. Spark技术内幕:Stage划分及提交源码分析

    http://blog.csdn.net/anzhsoft/article/details/39859463 当触发一个RDD的action后,以count为例,调用关系如下: org.apache. ...

随机推荐

  1. Android 手机震动 设置震动时间

    开启震动,单次,5秒: Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); //震动5秒 vibrator.vibra ...

  2. excel公式应用大全

    excel公式应用大全 1.ABS函数 函数名称:ABS 主要功能:求出相应数字的绝对值. 使用格式:ABS(number) 参数说明:number代表需要求绝对值的数值或引用的单元格. 应用举例:如 ...

  3. 【mysql的设计与优化专题(6)】mysql索引攻略

    所谓索引就是为特定的mysql字段进行一些特定的算法排序,比如二叉树的算法和哈希算法,哈希算法是通过建立特征值,然后根据特征值来快速查找,而用的最多,并且是mysql默认的就是二叉树算法 BTREE, ...

  4. Hibernate逍遥游记-第13章 映射实体关联关系-002用主键映射一对一(<one-to-one constrained="true">、<generator class="foreign">)

    1. <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hi ...

  5. 249. Group Shifted Strings

    题目: Given a string, we can "shift" each of its letter to its successive letter, for exampl ...

  6. NSPoint

    #import <Foundation/Foundation.h>   int main(int argc, const char * argv[]) {    @autoreleasep ...

  7. SqlServer几个注意点

    1.修改系统参数时,必须是单用户情况下才能更改成功!在Properties->Options中修改. 2.数据库字段值默认是不区分大小写的,修改方法如下: 2.1.右键数据库,选择Propert ...

  8. 受限波兹曼机导论Introduction to Restricted Boltzmann Machines

    Suppose you ask a bunch of users to rate a set of movies on a 0-100 scale. In classical factor analy ...

  9. VC6.0下string不能用pusk_back,可用+=代替

    2013-09-11 21:14:32 在VS下运行正确的代码,拿到VC6.0下,编译出错,提示: error C2039: 'push_back' : is not a member of 'bas ...

  10. git branch

    使用git管理工具,branch 应该是我们接触最多的.不论我们是修复bug,还是做项目,都会新开branch,工作完成后再合并. 然而对一些初学者,对git的一些命令知之甚少,这里,给大家写一些常用 ...