• 软件质量保护与测试(第2版)学习总结第十章 黑盒测试


    设计测试用例的唯一规则:覆盖所有特征,但并不创建太多的测试用例。   ---Tsuneo Yamaura

    1、黑盒测试是对程序接口的测试

    2、黑盒测试注重于测试软件的功能性需求

    3、黑盒测试不需要了解程序源代码

    10.1  等价类划分

    1. #include<iostream>
    2. using namespace std;
    3. int main()
    4. {
    5. int a;
    6. int b;
    7. int c;
    8. cout<<"请输入两个1~100的整数:"<<endl;
    9. cin>>a>>b;
    10. if((a>=1&&a<=100)&&(b>=1&&b<=100))
    11. {
    12. c=a*b;
    13. cout<<"两个数乘积为"<<c<<endl;
    14. }
    15. return 0;
    16. }
    1. 两个整数都在1~100之间;(有效等价类)
    2. 两个整数中至少有一个小于1或大于100;(无效等价类)
    3. 输入的不是整数。(无效等价类)

    而书上的解法则是:

    划分等价类:

          1、两个整数都在1~100之间;(有效等价类)

          2、两个整数中至少有一个小于1(无效等价类)

          3、两个整数中至少大于100;(无效等价类)

    所以书上的测试用例,则会是:

    用例编号所属等价类ab乘积
    11236
    221-10提示请输入1~100的整数
    332200提示请输入1~100的整数

    在看一道题

    比如说设三角形的3边为A、B、C    满足条件A>0   B>0   C>0   ,  A+B>C , B+C>A  , A+C>B

    如果是等腰的,还要判断A=B,或者 B=C 或者A=C

    如果是等边的,则需要判断是否A=B,且B=C,且A=C

    等价类划分

    测试用例

    10.2   边界值分析

    假设有一个需要输入年龄的程序,年龄的取值范围是 1

    根据边界值分析法,我们需要选取以下测试用例:

    1. 输入年龄为1岁,这是年龄的最小值,是一个边界值。
    2. 输入年龄为120岁,这是年龄的最大值,也是一个边界值。
    3. 输入年龄为2岁,这是一个等价类内的值,但是在1岁和3岁的边界上,也需要进行测试。
    4. 输入年龄为119岁,同样是一个等价类内的值,但是在118岁和120岁的边界上,也需要进行测试。

    10.3   因果图

    可以知道中间状态有两种。

    即已投币,已按钮

    原因:c1:投入1元5角硬币    ,c2:投入两元硬币 ,c3:按“可乐”按钮   ,c4:按"雪碧"按钮  c5: 按“红茶”按钮。

    结果:a1:退还5角硬币    ,  a2:送出“可乐”饮料   , a3:送出"雪碧"饮料  , a4: 送出"红茶"饮料

    决策表

    我来解释一波,这个投1元5角的,可以依次按“可乐”,“雪碧”,“红茶”,还有什么都不按的

    所以有四个在这个上面为1的。

    同理二元的也是一样,有四个。

    还有三个是没有投币,就按“可乐”,“雪碧”,“红茶”按钮的,所以一共4+4+3=11个

  • 相关阅读:
    Java之Collections的综合小练习
    十三、Java Agent
    【AI】《动手学-深度学习-PyTorch版》笔记(二十一):目标检测
    部署vuepress项目到githubPage
    SD-Branch多分支组网解决方案
    〖Docker指南⑤〗学习Dockerfile,看这一篇就够了
    《MATLAB 神经网络43个案例分析》:第34章 广义神经网络的聚类算法——网络入侵聚类
    【JavaSearch/搜索引擎】项目测试
    Apache JMeter压测工具
    基于k-mean算法的医学图像分割matlab仿真
  • 原文地址:https://blog.csdn.net/m0_63251896/article/details/134445821