《软件质量保证与测试》实验指导书.docx
《《软件质量保证与测试》实验指导书.docx》由会员分享,可在线阅读,更多相关《《软件质量保证与测试》实验指导书.docx(8页珍藏版)》请在冰豆网上搜索。
![《软件质量保证与测试》实验指导书.docx](https://file1.bdocx.com/fileroot1/2022-11/23/4b19f4c6-da52-4d80-abae-9fb185df9225/4b19f4c6-da52-4d80-abae-9fb185df92251.gif)
《软件质量保证与测试》实验指导书
《软件质量测试与保证》
实验指导书
信息科学与工程学院
信息技术实验中心
实验一等价划分测试
【目的与要求】
了解在测试工具对程序进行测试,通过对程序的测试,明白等价划分的意义。
【上机内容】
等价划分测试的英文是equivalencepartitiontesting。
等价划分测试是根据等价类设计测试用例的一种技术。
是黑盒测试的典型方法之一,通过把被测试程序所有可能的输入数据域划分成若干部分。
从每一部分中选取少数有代表性的数据作为测试用例,可有效减少测试次数,极大提高软件测试效率,缩短软件开发周期.等价类划分测试的目的就是为了在有限的测试资源的情况下,用少量有代表性的数据得到比较好的测试效果。
有效等价类盒无效等价类。
有效等价类中的数据代表的是一组符合需求文档的正确的有意义数据。
无效等价类则正相反。
本实验要了解的是:
等价划分测试的概念含义,以及什么是等价划分测试。
学生设计一个算术运算程序,利用测试工具对程序进行测试。
实战演习
1.某程序规定:
"输入三个整数a、b、c分别作为三边的边长构成三角形。
通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算…"。
用等价类划分方法为该程序进行测试用例设计。
(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。
)
分析题目中给出和隐含的对输入条件的要求:
(1)整数
(2)三个数(3)非零数(4)正数
(5)两边之和大于第三边(6)等腰(7)等边
如果a、b、c满足条件
(1)~(4),则输出下列四种情况之一:
1)如果不满足条件(5),则程序输出为"非三角形"。
2)如果三条边相等即满足条件(7),则程序输出为"等边三角形"。
3)如果只有两条边相等、即满足条件(6),则程序输出为"等腰三角形"。
4)如果三条边都不相等,则程序输出为"一般三角形"。
实验步骤:
1、在实验机调试运行质量测试程序。
2、记录测试实验结果。
3、分析实验结果。
考核形式
1.实验考勤20%:
2.上机操作能力及实验纪律占40%:
3.实验报告40%;
实验报告要求
1.写出算法原理
2.写出程序清单及注释
3.写出测试数据及结果
4.写出上机调试中遇到的错误及实验体会
5.实验报告书写认真,不得抄袭,如有雷同,按不及格处理
实验二边界值测试
【目的与要求】
结合等价划分技术,针对不同等价类的边界值设计测试用例.用测试工具对程序进行测试.
内容:
边界值分析是一种常用的黑盒测试方法,是对等价类划分方法的补充;所谓边界值,是指相对于输入等价类和输出等价类而言,稍高于其最高值或稍低于最低值的一些特定情况。
边界值分析的步骤包括确定边界,选择测试用例两个步骤。
三角形边界值测试:
三角形问题的边界值测试
三角形问题有三个输入,即三条边a、b、c,其取值范围为:
1≤a≤200
1≤b≤200
1≤c≤200
a={1,2,100,199,200}
b={1,2,100,199,200}
c={1,2,100,199,200}
用例
A
B
C
预期输出
1
100
100
1
等腰三角形
2
100
100
2
等腰三角形
3
100
100
100
等边三角形
4
100
100
199
等腰三角形
5
100
100
200
非三角形
6
100
1
100
等腰三角形
7
100
2
100
等腰三角形
8
100
100
100
等边三角形
9
100
199
100
等腰三角形
10
100
200
100
非三角形
11
1
100
100
等腰三角形
12
2
100
100
等腰三角形
13
100
100
100
等边三角形
14
199
100
100
等腰三角形
15
200
100
100
非三角形
实验步骤:
1、在实验机调试运行质量测试程序。
2、记录测试实验结果。
3、分析实验结果。
考核形式
1.实验考勤20%:
2.上机操作能力及实验纪律占40%:
3.实验报告40%;
实验报告要求
1.写出算法原理
2.写出程序清单及注释
3.写出测试数据及结果
4.写出上机调试中遇到的错误及实验体会
5.实验报告书写认真,不得抄袭,如有雷同,按不及格处理
实验三状态转换测试
【目的与要求】
设计一个堆栈操作程序.采用状态转换法设计测试用例,要求覆盖栈的所有状态及其相应的全部操作.用测试工具对程序进行测试.
内容:
状态转换测试的英文是statetransitiontesting;是根据状态转换来设计测试用例的一种方法。
一个系统或组件的两个允许状态之间的切换。
基于状态转换的测试方法是探测Web程序动态行为异常的有效途径.Web程序状态的变迁由链接序列和提交数据共同构成的导航场景决定.本文用活动页面导航图(APND)来描述页面间的链接转换行为,用状态变量的组合对象状态图(COSD)来刻画由提交数据导致的系统状态变量改变,再将两者统一成一个较为全面的动态行为模型Web程序状态转换图(WSTD).最后,采用线索k叉树并加以改进来自动生成测试用例。
假设有一个状态转换图或者一个与其等价的理解,那么就很容易获得可以明确地检查不可到达的状态是否真的不可到达的测试用例。
与这种方法相同的变种称为n-switch测试,在一套已知的转换之后,那些不可到达的状态仍然是不可到达吗?
图形工具,例如Compendium-TA能够帮助你获得这样的测试。
序列关系的状态转换:
spu编辑状态的转换。
Spu编辑状态的转换,是一个有序的过程,在一个生命周期内,某个状态下,满足要求才会流转到下一个状态,大部分状态的流转是单向的,任意一个状态流转分支都是从初始状态出发,到终结状态终止。
并列关系的状态转换:
商品状态的转换。
商品各个状态间的转换,也有起始状态和终止状态,不同于序列状态,几乎每个状态都和多个状态存在在转换关系,且状态之间的转换是相互的,犹如蜘蛛网一样,面对这种网状的状态图,测试的时候需要特别注意状态之间不允许发生的转换是否存在。
从两个实例,根据状态图,我们可以看到我们需要关注的内容:
状态:
状态图中的每一个状态,都必须进行测试,校验该状态下,向其他状态的转换是否如状态图中展示的一致。
状态之间允许的转换:
可能是如下情况,相同数据,不同操作引起不同转换;不同数据(前置条件不一样),相同操作引起的不同转换;不同数据,不同操作引起的不同转换。
对每一个允许的状态转换进行验证,设置状态转换的前置条件,操作使状态发生转换的功能,验证操作是否正常、状态是否如预期变化。
对使用频率特别高、或者特别容易出错的转换、以及最不常使用的转换,需要构造更多的测试数据,做尽可能多的覆盖。
状态之间不允许的转换:
状态之间不允许的转换测试,关注系统返回的错误信息和状态值是否变更,不需要对所有的不可能进行验证,应该挑选那些特别容易发生的转换进行测试。
状态转换的角色权限:
状态之间的转换操作,是有用户角色要求的,我们不仅要验证有权限的角色能够正常操作,还需要验证没有权限的角色是否能操作,对于没有权限的角色验证,在不可能全部验证的情况下,也是挑选相对容易出错的操作进行。
状态的转换,在软件中是非常普遍的,通过状态图梳理各个状态转换的关系,并在状态图的基础上按照状态和状态转换的覆盖原则进行测试设计,可以有效的保证软件状态转换的正确性。
测试过程中,还可以进行随机的状态转换测试。
实验步骤:
1、在实验机调试运行质量测试程序。
2、记录测试实验结果。
3、分析实验结果。
考核形式
1.实验考勤20%:
2.上机操作能力及实验纪律占40%:
3.实验报告40%;
实验报告要求
1.写出算法原理
2.写出程序清单及注释
3.写出测试数据及结果
4.写出上机调试中遇到的错误及实验体会
5.实验报告书写认真,不得抄袭,如有雷同,按不及格处理
实验四决策表测试
【目的与要求】
实现”三角形问题”程序,利用决策表方法设计测试用例.
内容:
在一些数据处理问题中,某些操作是否实施依赖于多个逻辑条件的取值。
在这些逻辑条件取值的组合所构成的多种情况下,分别执行不同的操作。
处理这类问题的一个非常有力的分析和表达工具是判定表,或称决策表(DecisionTable)。
在所有功能性测试方法中,基于决策表的测试方法是最严格的,决策表在逻辑上是严密的。
三角形问题的测试用例
用例ID
a
b
c
预期输出
DT1
4
1
2
非三角形
DT2
1
4
2
非三角形
DT3
1
2
4
非三角形
DT4
5
5
5
等边三角形
DT5
?
?
?
不可能
DT6
?
?
?
不可能
DT7
2
2
3
等腰三角形
DT8
?
?
?
不可能
DT9
2
3
2
等腰三角形
DT10
3
2
2
等腰三角形
DT11
3
4
5
三角形
实验步骤:
1、在实验机调试运行质量测试程序。
2、记录测试实验结果。
3、分析实验结果。
考核形式
1.实验考勤20%:
2.上机操作能力及实验纪律占40%:
3.实验报告40%;
实验报告要求
1.写出算法原理
2.写出程序清单及注释
3.写出测试数据及结果
4.写出上机调试中遇到的错误及实验体会
5.实验报告书写认真,不得抄袭,如有雷同,按不及格处理