实验4、黑盒测试:因果图法及测试用例设计
一、实验目的
1、掌握因果图的概念。
2、掌握因果图测试用例设计法。
二、实验任务
以下三个任务、至少完成一个
1、某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息N;如果第二列字符不是数字,则给出信息M。用因果图法测试该程序,并撰写实验报告。(注:可以用输出“Modify file”模拟程序中要求的修改文件)
实验步骤:
- 分析原因与结果
原因:(1)第一列字符是A
- 第一列字符是B
- 第二列字符是数字
结果:(21)进行文件的修改
- 给出信息N
- 给出信息M
- 画出因果图
中间节点:(11)第一列字符必须是A或B
- 转化为决策表
序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
条件 | (1) | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
(2) | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | |
(3) | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | |
中间结果 | (11) | 1 | 1 | 1 | 1 | 0 | 0 | ||
结果 | (21) | 0 | 1 | 0 | 1 | 0 | 0 | ||
(22) | 0 | 0 | 0 | 0 | 1 | 1 | |||
(23) | 1 | 0 | 1 | 0 | 0 | 0 |
- 根据决策表设计测试用例,得到测试用例表
序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
条件 | (1) | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
(2) | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | |
(3) | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | |
中间结果 | (11) | 1 | 1 | 1 | 1 | 0 | 0 | ||
结果 | (21) | 0 | 1 | 0 | 1 | 0 | 0 | ||
(22) | 0 | 0 | 0 | 0 | 1 | 1 | |||
(23) | 1 | 0 | 1 | 0 | 0 | 0 | |||
测试用例 | A6 | AL | B1 | B3 | Q3 | CR | |||
测试用例 | A8 | A% | B2 | B@ | X5 | N/ |
- 测试代码如下
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
int main()
{
string s1, s2;
bool b1 = true, b2 = true;
cin >> s1 >> s2;
if ( s1 != "A" && s1 != "B" ) {
cout << "N";
b1 = false;
}
for ( int i = 0; i < s2.size(); i++ ) {
if ( isdigit( s2[ i ] ) == false ) {
cout << "M";
b2 = false;
break;
}
}
if ( b1 && b2 )
cout << "Modify file";
cout << endl;
return 0;
}
- 执行测试,填写软件缺陷报告(软件缺陷报告格式同实验1)。
①测试情况部分截图:
②软件缺陷报告
模块名称 | 对NextDate问题进行软件测试 | ||
版本号 | V1.0 | 测试人 | XXX |
缺陷类型 | 无 | 严重级别 | \ |
可重复性 | \ | 缺陷状态 | \ |
测试平台 | Win11 | 测试软件 | Dev C++ |
简述 | 无明显缺陷 | ||
操作步骤 | 无 | ||
实际结果 | 无 | ||
预期结果 | 无 | ||
注释 | 无注释,建议适当增加注释,提高程序代码的可读性 |