东华大学软件测试作业整理_8184
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、当测试结果与测试用例中描述的有所不同时,有哪些可能的原因呢?为什么说测试的初始状
态很重要?
答:测试环境不同,测试步骤出现差异,测试系统本身bug。
因为在进行测试时,需要保证测试对象的初始状态一致,如果初始状态不一致或者出现错误那么
接下来的测试都会收到影响从而导致测试结果的错误。
二、采用等价类和边界值设计方法,为以下的“字符串替换”函数设计黑盒测试用例:
void replace(char s1[],char s2[],char s3[])
函数规格说明:
(1) replace函数的功能是将s1 字符串中的所有s2 字符串 (s2 字符串可以是s1 字符串的
字串 ) 替换为 s3 字符串,替换结果保存在s1 字符串中。
(2) s1、s2、s3字符串的长度都不超过1024 字节;
(3)s1 、s2 、 s3 字符串组成只能是英文字母、数字和空格(空格作为单词间的分隔符)。
答:
等价类划分:有效等价类无效等价类
S1:{ 1,2, ,,1024 }
{ 0 }, {1024, }
S2:{1,,,S1}
{0} , S2>S1
S3:{1,,,S1 }
{0} , S2>S1
{ 英文字母,数字和空格}
{ 非法字符 }
用例设计:
输入输出
S1=512,S2=100,S3=100替换成功
S1=1025;S2=100,S3=100输入报错
S1=512; S2=0; S3=100输入报错
S1=512; S2=2048;S3=1024输入报错
S1=100; S2 =S3=50没有改变
S1=$$$$;s2=$$$;S3=111;输入报错
三、对于“成绩统计”函数:
double成绩统计(char filename [])
要求:
(1)列出测试需求;
(2)采用等价类和边界值设计方法设计黑盒测试用例。
函数规格说明:
(1)成绩统计函数计算 filename 所指定的文本文件中所有学生的平均成绩并返回,计算结果
为小数(保留小数点后两位,小数点后多余的位数四舍五入);
(2)filename 字符串最长 255 个字符,只允许是大小写英文字符、数字和下划线;
(3)filename 必须是文本文件,文件名后缀必须是.txt ;
(4) filename中的第一个数字是数目,取值为1-1000( 表示文件中保存的学生数目) ,其后
是相应的学生成绩;学生成绩必须是 0-100 的整数;成绩间以一个或多个空格分隔;成绩可
以是单行也可以是多行;成绩不要求是排序的。
例如: 4 608098 100
或: 56098
80 98
100
(5)成绩统计函数应能运行于 Windows 和 Linux 两种操作系统;
(6)对于不符合规范的输入系统应提示相应的错误。
测试需求:
功能需求:输入文件名,文件包含学生数目和成绩,输出平均成绩,保留小数点后两位,小数点
后多余的位数四舍五入。
友好性需求:输入不合规范的字符系统提示相应错误
兼容性需求:在 windows 和 linux系统上运行程序
以上需求来源:函数规格说明。
用例设计:
等价类划分:
有两个输入:文件名与文件
有效等价类无效等价类
文件名0<filename<=255filename>255
{.txt结尾的文本文件}{非txt后缀 }
文件1<=文件第一个数字<=1000{ 非数字},数字 <1,数字>1000
0<=学生成绩 <=100
学生成绩为整数学生成绩 <0,学生成绩
非整数
>100
用例设计:输入文件名输入文件输出
1.filename = aaa 3 60809076.67
2.Filename >=255 3 60.5 80 90输入错误
3.Filename.cpp 2 a 3文
件格式错误输入错误
4.filename = aaa0-1 90输入错
误
5.filename = aaa2101 90输入错误
以上用例在windows 与 linux下分别执行
1、为什么需要尽早地进? 行测试 ? 答 :在软件?生命周期的活动当中,测试活动应该越早开始越好,越晚发现问题的代价
就越?高。
这是因为 :
1、如果软件研发后期发现框架问题,可能导致很多模块代码需要返?工
2、越晚开始 ,测试?人员对软件的了解越少,?无法深?入测试 ,可能漏测严重
3、如果在软件研发快结果才开始测试,可能投?入测试后的短期内会? 大量发现问题 ,不利于版本稳定
2、“在测试?工作中对所有被测试功能模块都? 一视同仁 ,对所有被测试功能都进? 行充分的测试”这句话是否正确 ?请简述原因。
答: 错误。
1.软件测试?工作量庞? 大,不可能穷尽所有测试 ,也不可能对每个功能都充分的测试 ,所以必然要依照测试
需求选择某? 一些重要的功能进? 行测试。
2.不可能对所有功能模块? 一视同仁 ,应当依照测试计划中的优先级先测试重要模块 ,对于 ? 一些优先级低
的 ,不太重要的模块放在后? 面再测 ,这样可以尽早发现重要的 bug,提?高效率。
3、软件测试的风险主要体现在哪?里?
答 : 软件测试不可能覆盖所有测试点 ,所以对于某些实效造成巨? 大损失 ,故障引发?高成本的系统来说 ,软件
测试就会伴随着? 高风险 ,这就需要对测试? 工作量与可达到的测试程度保持适当的联系 ,使得风险尽量降低。
二、阅读以下 C 程序 ,指出其存在的设计隐患。
该程序功能是:统计?文件中 26 个英?文字母
的数?目。
1.#include <stdio.h>
2. void main()
3.{
4.FILE * fp;
5.char filename[100];
6.printf(" 请输?入?文件名 :");
7.scanf("%s", filename);
8.fp=fopen(filename,"r");
9.
10. char ch;
11.int sum; //本题假设 int 变量为 2 字节?大?小 12.
13.while((ch=fgetc(fp))!=EOF) // fgetc(fp) 从?文件中读取? 一个字符并返回
14.{ // EOF 表?示遇到?文件结束标志
15.if('a'<=ch<='z')sum++;
16.}
17.
18. printf(" ?文件中 a 字符的数? 目为 :%f \n", sum); }
答 :
关于资源可? 用性:1. ? 文件是否存在,是否能正确打开
关于边界值溢出情况:2. 输?入?文件名导致缓冲区溢出 3. 如果?文件字数过多超过sum 所表?示的范围会导致崩溃
其他 :? 文件使?用后应关闭
三、阅读“需求?文档 .zip”中的两个需求?文档 ,并回答 : (1)你认为这两个需求? 文档哪个更好 ,原因何
在 ? (2)你认为不好的哪个需求? 文档缺少哪些描述元素 ,这会给测试带来什么困扰 ? ( 3)总结需求?文档应该包含哪些要素。
答 :1. 第?一个更好。
第? 一个包含的测试步骤更加详细,? 而且?用了流程图来描述测试步骤,清晰易懂。
2.第?二个?文档没有给出测试系统的功能模块介绍,也没有给出具体的测试步
骤,只有?一张软件效果截图,使得测试? 无法清晰有逻辑的进? 行。
3. 测试标题、测试描述、测试要点、测试类型、前提条件、测试输? 入、操作步骤、预期结果。
一、现欲测试某软件的数据导出功能(数据导出至U 盘),按以下格式设计该数据导出功能的测试需求:
二、对于以下的“图书查询”功能设计黑盒测试用例
在搜索框中输入需要查询的图书名,系统显示出库存数据库中所有符合条件的记录,如果一页显示不
下,就分页显示,每页显示10 条记录。
( 1)书名是不包含双引号、由中文和英文字母组成任意字符串,长度不超过两个字符处理)。
输入中不允许出现空格。
20 个字符(一个中文作
(2)查询采用模糊查询。
(3)查询结果最多 100 页。
输入输出
书名中有双引号输入有误
如:“软件测试教程”
书名中有空格输入有误
如: the art of软件测试
输入的长度大于20 个字符输入有误
如:
aaaaaaabbbbbcccaaaaaaabbbbbccc
输入某个关键字输出所有还有包含“计算机”关键字的图书如《计算机英语》输入计算机,
查询结果大于100 页最多显示100 页的书名
输入中国两字(假设带有中国两字的书超过100
页)。