zoukankan      html  css  js  c++  java
  • 3 白盒测试与控制流覆盖原则

    白盒测试的定义与分类

    白盒测试:又称结构测试,它一般用来测试程序的内部结构(Control Flow , Data Flow)。并判定其结果是否与预期的结果一致。

    白盒测试的种类:静态分析测试(Static Analysis Test,Code Inspection)、语句分支覆盖测试(Ctrl Flow Test)等。

    ————引用自PPT

     

    控制流覆盖原则

    语句覆盖准则(Statement Coverage)

    分支覆盖准则(Branch Coverage 或Decision Coverage)

    谓词测试

    原子谓词覆盖准则(也称 Condition Coverage)

    分支-谓词覆盖准则(也称Branch Condition Coverage 或Decision Condition Coverage )

    复合谓词覆盖准则(也称Multi Condition Coverage)

    路径覆盖准则(Path Coverage)

    以下为该次实验所用的代码

    题目: EditBox 允许1到6个英文字符或数字,按OK结束 有效等价类: 长度:1到6 字符:a-z,A-Z,0-9 无效等价类 长度:0,7 字符:英文/数字以外字符,控制字符,标点符号

             其中有3个EditBox,只有当每一个EditBox中的输入信息都符合规范的时候,输出台才会输出true,否则输出false。

         

    package pro1;
    
    import java.awt.FlowLayout;
    import java.awt.Label;
    import java.awt.TextField;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    
    
    
    
     class Window extends JFrame  
    {  
        TextField text1,text2,text3;
        JButton jb;
        Window(String s)  
        {  
            super(s);  
            this.setLayout(new FlowLayout());  
            Label label1=new Label();
            Label label2=new Label();
            Label label3=new Label();
            
            label1.setText("Name1");    
            label2.setText("Name2");
            label3.setText("Name3");
            
            text1 = new TextField(10);  
            text2 = new TextField(10);
            text3 = new TextField(10);
            jb =new JButton("ok"); 
            jb.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    String str1 =text1.getText().toString();
                    String str2 =text1.getText().toString();
                    String str3 =text1.getText().toString();
                   
                    if(check(str1)&&check(str2)&&check(str3))
                        System.out.println("true");
                    else
                        System.out.println("false");
                         
                }
            });
            this.add(label1);
            this.add(text1);
            this.add(label2);
            this.add(text2);
            this.add(label3);
            this.add(text3);
              
            this.add(jb);
            this.setBounds(400, 200, 900, 200);  
            this.setVisible(true);  
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);      
        }  
        
        public boolean check(String str){
            char num[] = str.toCharArray();
            for (int i = 0; i < num.length; i++) {
            if (!(Character.isDigit(num[i]))&&!(Character.isAlphabetic(num[i])))
                return false;
            }
            if((str.length()>6)||(str.length()==0))
                return false;
            return true;
                    
        }
    }  
    
    public class test1 {
         public static void main(String args[])  
            {  
                Window win = new Window("UserForm1");  
            }    
    
    }

    以下为截屏

    根据分支覆盖准则进行白盒测试

    分支覆盖原则定义

    分支覆盖要求在软件测试中,每个分支都至少获得一次真/假取值的经历。 测试数据集T称为分支覆盖充分的,当且仅当LT覆盖了GP中的所有有向边。           

    ——引用自PPT

    以下为分支覆盖测试的用例

    测试用例 输入信息 textField1 textField2 textField3 输出信息
    测试用例1 1#,1,,1, false true true false
    测试用例2 1,1#,1 true false true false
    测试用例3 1,1,1# true true false false
    测试用例4 1#,1#,1 false false true false
    测试用例5 1#,1,1# false true false false
    测试用例6 1,1#,1# true false false false
    测试用例7 1#,1#,1# false false false false
    测试用例8 1,1,1 true true true true

                                                                       T

  • 相关阅读:
    Less的嵌套规则
    作为函数的mixin
    带参数的Mixin
    Less的Mixin
    Less变量
    sticky-css
    javascript copy 复制到粘贴板的方法
    Storage支持率记录
    cookie session 做登录认证
    vue2.x 微信浏览器中遇到的奇难杂症
  • 原文地址:https://www.cnblogs.com/yushaoyan/p/4370216.html
Copyright © 2011-2022 走看看