软件测试毕业设计论文Word格式文档下载.docx
《软件测试毕业设计论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《软件测试毕业设计论文Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
●到了2002年,Rick和Stefan在《系统的软件测试》一书中对软件测试做了进一步定义:
测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命过程。
2软件测试的基础理论
2.1软件测试的定义
软件测试使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
●测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;
●这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;
●没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。
2.2软件测试的描述
测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。
软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Dotherightthing),另一方面是确认软件以正确的方式来做了这个事件(Doitright);
第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息;
第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。
如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。
2.3软件测试的目的
●测试是为了发现程序中的错误而执行程序的过程;
●测试是确保最终用户的产品符合用户的需求;
●成功的测试是发现了至今为止尚未发现的错误的测试;
2.4软件测试的原则
●尽早地进行软件测试,并把软件测试贯穿整个软件生命周期
●软件测试应追溯
●测试应由第三方来构造
●穷举测试时不可能,要遵循good-enough原则
●必须确定预期输出结果
●必须彻底检查每个测试结果
●充分注意测试中的群集现象
●其他值得注意到规律和经验
3软件测试的内容
3.1验证(verification)
验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。
(Dotherightthing)
●确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;
●程序正确性的形式证明,即采用形式理论证明程序符号设计规约规定的过程;
●评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。
3.2确认(validation)
确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。
即保证软件以正确的方式来做了这个事件(Doitright)
●静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性;
●动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。
4软件测试的分类
4.1角度分类
Ø
从是否关心软件内部结构和具体实现的角度划分(按测试分类)
●白盒测试
●黑盒测试
●灰盒测试
从是否执行程序的角度
●静态测试
●动态测试
4.2阶段细分
从软件开发的过程按阶段划分有
●单元测试
●集成测试
●确认测试
●系统测试
●验收测试
●回归测试
●Alpha测试
●Beta测试
5软件测试流程
5.1软件测试活动
软件测试活动包括:
制定测试计划、测试设计开发和开发、执行测试、评估测试
6软件测试用例方法
6.1测试用例设计的基本原则
●用成熟测试用例设计方法来指导设计;
●测试用例的正确性;
●测试用例的代表性;
●测试结果的可判定性;
●测试结果的可再现性;
●足够详细、准确和清晰的步骤;
6.2设计测试用例应注意哪些问题
●不要把测试用例设计等同于测试输入数据的设计;
●不要强调测试用例设计得越详细越好;
●不要追求测试用例设计“一步到位”;
●不要将多个测试用例混在一个用例中;
●不要让没有测试经验的人员设计测试用例;
6.3测试用例的作用
●有效性:
有效地节省时间和资源,提高测试效率;
●避免测试的盲目性,使得软件测试的实施重点突出、目的明确;
●可维护性,降低工作强度,缩短项目周期;
●可复用性,使得测试过程事半功倍;
●可评估性:
程序代码质量的量化标准应该用测试用例的通过率和测试数目来进行评估;
●可管理性,测试用例是测试人员在测试过程中的重要参考依据,便于对测试工作进行有效的管理;
6.4测试用例设计方法
6.4.1等价类划分
6.4.1.1划分等价类
等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:
测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。
等价类划分可有两种不同的情况:
有效等价类和无效等价类。
1)有效等价类
是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
2)无效等价类
与有效等价类的定义恰巧相反。
无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。
对于具体的问题,无效等价类至少应有一个,也可能有多个。
举例说明:
某程序规定:
"
输入三个整数a、b、c分别作为三边的边长构成三角形。
通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算…"
。
用等价类划分方法为该程序进行测试用例设计。
分析题目中给出和隐含的对输入条件的要求:
(1)整数
(2)三个数
(3)非零数
(4)正数
(5)两边之和大于第三边
(6)等腰
(7)等边
如果a、b、c满足条件
(1)~(4),则输出下列四种情况之一:
1)如果不满足条件(5),则程序输出为"
非三角形"
。
2)如果三条边相等即满足条件(7),则程序输出为"
等边三角形"
3)如果只有两条边相等、即满足条件(6),则程序输出为"
等腰三角形"
4)如果三条边都不相等,则程序输出为"
一般三角形"
列出等价类表并编号
输入条件
输入三个整数
有效等价类型
号码
无效等价类
整数
a为非整数一边为b为非整数
非整数c为非整数
两边为a,b为非整数
非整数b,c为非整数
a,c为非整数
三边a,b,c均为非整数
12
13
14
15
16
17
18
三个数
2
只给a
只给一边只给b
只给c
只给ab
只给一边只给b,c
只给ac
给出三个以上
19
20
21
22
23
24
25
非零数
3
a为0
一边为零b为0
c为0
a,b为0
只给一边b,c为0
a,c为0
三边a,b,c均为0
26
27
28
29
30
31
32
正数
4
a<
一边<
0b<
a<
0且b<
二边<
0a<
0且c<
b<
三边均<
0:
33
34
35
36
37
38
39
输出条件
构成一般三角形
a+b>
c
b+c>
a
a+c>
b
5
6
7
a+b<
a+b=c
b+c<
b+c=a
a+c<
a+c=b
40
41
42
43
44
45
构成等腰三角形
a=b
b=c且两边之和大于第三边
a=c
8
9
10
构成等边三角形
a=b=c
11
覆盖有效等价类的测试用例:
a
b
c
覆盖等价类号码
3
4
5
(1)--(7)
(1)--(7),(8)
(1)--(7),(9)
(1)--(7),(10)
(1)--(7),(11)
覆盖无效等价类的测试用例:
2.5
4.5
5.5
3.5
-3
-4
-5