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

利用JavaFx实现对有效等价类和无效等价类的划分:

代码:

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.AnchorPane;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class Main extends Application{
TextField textField;
Label label;

public static void main(String[] args) {
Application.launch(args);
}

public void start(Stage stage){
stage.setTitle("For Test");
AnchorPane root = new AnchorPane();
Scene scene = new Scene(root, 500, 300);

Text text = new Text();
text.setText("Write something for test:");
text.setFont(Font.font("Comic Sans MS", 18));
AnchorPane.setTopAnchor(text, 0.0);
AnchorPane.setLeftAnchor(text, 10.0);

Text text2 = new Text();
text2.setText("Result:");
text2.setFont(Font.font("Comic Sans MS", 18));
AnchorPane.setTopAnchor(text2, 50.0);
AnchorPane.setLeftAnchor(text2, 10.0);

label = new Label(" ");
label.setFont(Font.font ("Comic Sans MS", 16));
AnchorPane.setTopAnchor(label, 90.0);
AnchorPane.setLeftAnchor(label, 50.0);

Button button = new Button();
button.setText(" Sure ");
AnchorPane.setTopAnchor(button, 5.0);
AnchorPane.setLeftAnchor(button, 420.0);

textField = new TextField ();
textField.setPrefWidth(160);
textField.getText();
AnchorPane.setTopAnchor(textField, 5.0);
AnchorPane.setLeftAnchor(textField, 250.0);

button.setOnAction(new EventHandler<ActionEvent>() {

@Override
public void handle(ActionEvent e) {
char input[] = textField.getText().toCharArray();
int errorcase = 3;
if (textField.getText().length()==0 || textField.getText().length() >= 7) {
errorcase = 1;
}
else {
for(int i=0;i<textField.getText().length();i++){
if(!((input[i]>=48 && input[i]<57) || (input[i]>=65 && input[i]<=90) || (input[i]>=97 && input[i]<=122))){
errorcase = 2;
break;
}
}
}
switch(errorcase){

case 1:
label.setText("Input is " + textField.getText() + "\n" + "Error1: The length of input is error");
break;

case 2:
label.setText("Input is " + textField.getText() + "\n" + "Error2: The kind of input is error");
break;

case 3:
label.setText("Input is " + textField.getText() + "\n" + "Succeed: Input is correct");

}
}
});

root.getChildren().addAll(text,text2,textField,button,label);
stage.setResizable(false);
stage.setScene(scene);
stage.show();
}
}

等价类划分和测试用例设计:


编号1、2、3、8、11、17的测试截图:

时间: 2024-10-29 19:11:40

Java上等价类划分测试的实现的相关文章

等价类划分具体问题分析及测试实现

课上章老师对于等价类划分的方法做了详细的讲述,并让我们在课堂上做了一个练习,我在课后再看再思考这道题时,发现我当时在课堂上并没有做对,我少考虑了情况.以后的测试也是这样,因为马虎造成的错误不能再犯.所以我重新做了这道题,以下为具体过程: 按条件 编号 有效等价类 编号 无效等价类 按长度 1 1~6 9 长度0 按字符类型 2 只有a~z 10 长度>=7   3 只有A~Z 11 含控制字符   4 只有0~9 12 含标点符号   5 a~z,A~Z       6 a~z,0~9    

关于软件测试(3):基于上一篇等价类划分的扩展应用

前景概要:这篇文章主要针对上一篇题目做出一些扩展性的修改,从而导致等价类等价类的变化.这边文章实现了增加至3个editbox的等价类划分方法,从而加强了我对于等价类划分的理解. 1.题目内容:编写3个editBox,要求EditBox 允许1到6个英文字符或数字,按OK结束 有效等价类: 长度:1到6 字符:a-z,A-Z,0-9. 无效等价类 长度:0,7 字符:英文/数字以外字符,控制字符,标点符号. 2.关于等价类的一些必要知识我就不再赘述,上篇文章有提过. 3.划分等价类 编号 有效等价

软件测试技术(二)——使用等价类划分的方法进行编码的UI测试

测试的目标程序 程序代码 划分出的等价类 划分方法 编号 有效等价类 编号 无效等价类 长度 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 2 5 不能为空 3 aA01234 6 请输入1-6个英文字母或数字 4 哈 7 请输入1-6个英文字母或数字 5 T_T 8 请输入1-6个英文字母或数字

测试相关理解(二)等价类划分实例

设计测试用例 在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类.无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例: 1)为每一个等价类规定一个唯一的编号: 2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止: 3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止. 1.设有一个档案管理系统,要求用户输入以年月表示的日期.假设日期限定在199

2 黑盒测试以及等价类划分的应用

黑盒测试的基本概念 黑盒测试:是一种常用的软件测试方法,它将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试. 黑盒测试是一种从软件外部对软件实施的测试,也称功能测试或基于规格说明的测试. 其基本观点是:只关心软件的输入数据和输出结果. 黑盒测试是从用户观点出发的测试,尽可能发现软件的外部行为错误.在已知软件产品功能的基础上, 检测软件功能能否按照需求规格说明书的规定正常工作,是否有功能遗漏: 检测是否有人机交互错误,是否有数据结构和外部数据库访问错误,是否能恰当地接收数据并

从黑盒测试延伸到等价类划分法

一,黑盒测试 话不多说,先上黑盒测试的定义:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用.在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息.黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试. 其实上面那冗长的一段话总结起来就一个意思:就是测试软件的时候,不用管软件内部到底是怎么写的,有

等价类划分第二弹!

类似于上周的作业,为上周作业“等价类划分”的拓展版本. 改变之处为EditBox变为三个. 一.题目要求 二.划分等价类 三.测试用例 编号 测试用例 预期输出结果 1 123 aBc 456def 输入1,2,3有效 2 aBc 456def 输入1长度小于1 3 123 [email protected] 456def 输入2含非法字符 4 123 aBc 456def7 输入3长度大于6 5 [email protected] 456def 输入1,2错误 6 aBc 456def7 输入

【软件测试】等价类划分(Equivalence partitioning)

等价类划分[Equivalence partitioning ]也叫做ECP [1]是一种将软件单元的输入数据转换成从该试验的情况下可以推导等效数据的分区的软件测试技术.是典型的黑盒测试内容.原理上每一个测试例子最终应该完成对所有情况的测试,这种测试尝试定义发现错误的方法,从而用来减少用于测试的必要测试次数.这种方法可以有效减少用于测试的时间,因为可以减少测试的情况. 一个简单的等价类测试例子 int safe_add( int a, int b ) { int c = a + b; if (

黑盒测试用例设计技术--等价类划分法

本文通过案例的形式,详细讲解黑盒测试用例设计技术中的等价类划分法. 等价类划分是一种典型的黑盒测试方法,其原理是把程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例. 通过等价类划分,可以在尽可能覆盖所有测试路径的前提下,大幅度减少测试用例的数目. 本文的主要内容有: 等价类的概念介绍 划分等价类的原则 根据等价类设计测试用例的方法 案例演示 划分等价类 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理的假设,