软件测试技术(二)——使用等价类划分的方法进行的UI测试
测试的目标程序
程序代码
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测试的更多相关文章
- 软件测试技术(三)——使用因果图法进行的UI测试
目标程序 较上次增加两个相同的输入框 使用方法介绍 因果图法 在Introduction to Software Testing by Paul一书中,将软件测试的覆盖标准划分为四类,logical ...
- 【哲学角度看软件测试】要想软件“一想之美”,UI 测试少不了
摘要:软件测试的最高层次需求是:UI测试,也就是这个软件"长得好不好看". 为了让读者更好地理解测试,我们从最基础的概念开始介绍.以一个软件的"轮回"为例,下图 ...
- 黑盒测试用例设计方法&理论结合实际 -> 等价类划分
一. 概念 等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例.每一类的代表性数据在测试中的作用等价于这一类中的其他值. 二. 等价类划分的应用 等价类 ...
- 等价类划分方法的应用(jsp)
[问题描述] 在三个文本框中输入字符串,要求均为1到6个英文字符或数字,按submit提交. [划分等价类] 条件1: 字符合法; 条件2: 输入1长度合法; 条件3: 输入2长度合法: 条件4: 输 ...
- 软件测试技术lab2——Selenium上机实验
Selenium上机实验说明 1.安装SeleniumIDE插件 2.学会使用SeleniumIDE录制脚本和导出脚本 3.访问http://121.193.130.195:8080/使用学号登录系统 ...
- Java上等价类划分测试的实现
利用JavaFx实现对有效等价类和无效等价类的划分: 代码: import javafx.application.Application;import javafx.event.ActionEvent ...
- Maven入门系列(二)--设置中央仓库的方法
原文地址:http://www.codeweblog.com/maven入门系列-二-设置中央仓库的方法/ Maven仓库放在我的文档里好吗?当然不好,重装一次电脑,意味着一切jar都要重新下载和发布 ...
- thinkphp二维数组模板输出方法
thinkphp二维数组模板输出方法 先写个记录,有空再整理发上来
- Spark技术内幕:Stage划分及提交源码分析
http://blog.csdn.net/anzhsoft/article/details/39859463 当触发一个RDD的action后,以count为例,调用关系如下: org.apache. ...
随机推荐
- aircrack-ng 字典破解WPA / WPA2
1. 安装 首先安装两个扩展sudo apt-get install build-essentialsudo apt-get install libssl-dev 然后到http://download ...
- wireshark: there are no interfaces on which a capture can be done
权限问题,简单的直接sudo就行. 更安全的做法是: # chmod 4755 /usr/bin/dumpcap dumpcap的所在目录可用whereis命令查看.
- JavaScript基础精华03(String对象,Array对象,循环遍历数组,JS中的Dictionary,Array的简化声明)
String对象(*) length属性:获取字符串的字符个数.(无论中文字符还是英文字符都算1个字符.) charAt(index)方法:获取指定索引位置的字符.(索引从0开始) indexOf(‘ ...
- epmap服务
epmap是 tcp 135和udp135端口135端口的“epmap - DCE endpoint resolution”记录可以通过连接到135端口和做适当的查询列举出来. 135端口大多数情况下 ...
- redhat6和ubuntu13.10在WMware player 下与Windows共享文件
Redhat下: 点击VMware的 setting -> vmware tools install mount /dev/cdrom /mnt/cdromcd /mnt/cdrom里面有一个v ...
- java服务器知识
http://blog.csdn.net/chenyi8888/article/details/4484641 http://blog.csdn.net/chenyi8888/article/deta ...
- Android开发之执行定时任务AlarmManager,Timer,Thread
1.Thread:使用线程方式2.Timer是java的特性3.AlarmManager:AlarmManager将应用与服务分割开来后,使得应用程序开发者不用 关心具体的服务,而是直接通过Alarm ...
- Toad创建DBLINKsop
Toad创建DBLINKsop 1.创建服务: 点击“测试”,出现如下测试窗口后点击更改登录,用户名和密码数据目标主机用户名.密码; 出现如下窗口后,点击“关闭”,然后点击“完成”即可; 2.创建db ...
- Codeforces Round #259 (Div. 2) C - Little Pony and Expected Maximum
题目链接 题意:一个m个面的骰子,抛掷n次,求这n次里最大值的期望是多少.(看样例就知道) 分析: m个面抛n次的总的情况是m^n, 开始m==1时,只有一种 现在增加m = 2, 则这些情况是新增 ...
- uva 10453 - Make Palindrome(dp, 记录路径)
题目 题意: 给一个字符串 ,判断最少插入多少个字符 使字符串成为回文串, 并输出回文串. 思路:先用dp判断需要个数, 再递归输出路径. #include <iostream> #inc ...