欢迎所有爱好软件测试的任人志士加入本空间!
软件质量与软件测试
1 软件质量
,b%Q_9C!FF6Y0质量保证一直是软件产业的重大课题。软件测试技术第一门户g$Ww|J:pt+z8q
据IDC预测,世界软件市场将有一个突飞猛进的发展,预计每年以13%左右的比例增长。软件应用领域越来越广泛,其质量的优劣也日益受到人们的重视。质量保证能力的强弱直接影响着软件业的发展与生存。那么,到底什么是软件质量呢?软件测试技术第一门户kzkP P;N;J
软件质量是与软件产品满足明确或隐含需求的能力有关的特征和特性的总和(ISO 9126)。
k] z c7K&Xk\3x[0我们可以从以下三个方面把握软件质量的概念:
q xVJn;Lt0软件测试技术第一门户!G\0y#z|{&i+Z
1.软件需求是衡量软件质量的基础。如果开发出的软件与需求不一致,就谈不上软件的质量。软件测试技术第一门户5d.O*g;hnD"zL R
2.规定了的标准是软件开发必须遵循的准则,如果软件项目未能按标准开发,其质量必定是低劣的。软件测试技术第一门户a.fYoP @~io
3.软件通常有着一些不作明文规定的隐含需求,例如,要求软件有较好的可维护性、易扩展性等。如果开发的软件已经满足了明文规定的需求,却没有满足隐含的需求,那么软件产品的质量仍然是有问题的。
P6e(Cn\^t/~f w0软件的质量包括产品质量和过程质量,产品质量是文件、设计、代码和试验的属性,过程质量是指技术、工具、人员和组织机构方面的属性。提出过程质量是因为它有决定软件质量方面的作用,是为实际产品的生产建立一个必要的支持条件。不可能希望以不具备这个条件的软件测试技术第一门户)Sd }7Vc+U Q
工艺过程开发出成功的高质量的软件产品。软件测试技术第一门户$dn,M"i?V
S/q|^!p l X gh:M02 软件测试
ujKt N4J?0(1)软件测试的目的
EZ2p)u+t)EK*\4]8|0软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。在目前形式化方法和程序正确性证明技术还无望成为实用性方法的情况下,软件测试在将来相当一段时间内仍然是软件可靠性保证的有效方法。软件测试技术第一门户){~ q,}B;[ }!Ii
软件工程的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成软件开发项目。不足的测试势必使软件带着一些未揭露的隐藏错误投入运行,这将意味着更大的危险让用户承担。过度测试则会浪费许多宝贵的资源。到测试后期,即使找到了错误,然而付出了过高的代价。E.W.Dijkstra的一句名言说明了这一道理:“程序测试只能表明错误的存在,而不能表明错误不存在。”可见,测试是为了使软件中蕴涵的缺陷低于某一特定值,使产出、投入比达到最大。
(H n8} d7f&Mb Y!_j0(2)软件测试的基本过程
%u:~[%O+\3tr9MO]0软件测试是一个极为复杂的过程。一个规范化的软件测试过程通常包括以下基本的测试活动:软件测试技术第一门户 G&gFKSUBT
拟定软件测试计划
[7~"E2Y:i%n(Ics0编制软件测试大纲软件测试技术第一门户/j6qE1C)@(m0}
确定软件测试环境
HKW-k)\V$B u0设计和生成测试用例软件测试技术第一门户)K t;}6i;j1pB1P9P
实施测试软件测试技术第一门户,pgI9x4l}]q&h/}'U
生成软件测试报告软件测试技术第一门户NB N,R2^\9rNk[
对整个测试过程进行有效的管理,实际上,软件测试过程与整个软件开发过程基本上是平行进行的,那些认为只有在软件开发完成以后才进行测试的观点是危险的。测试计划早在需求分
,b%Q_9C!FF6Y0质量保证一直是软件产业的重大课题。软件测试技术第一门户g$Ww|J:pt+z8q
据IDC预测,世界软件市场将有一个突飞猛进的发展,预计每年以13%左右的比例增长。软件应用领域越来越广泛,其质量的优劣也日益受到人们的重视。质量保证能力的强弱直接影响着软件业的发展与生存。那么,到底什么是软件质量呢?软件测试技术第一门户kzkP P;N;J
软件质量是与软件产品满足明确或隐含需求的能力有关的特征和特性的总和(ISO 9126)。
k] z c7K&Xk\3x[0我们可以从以下三个方面把握软件质量的概念:
q xVJn;Lt0软件测试技术第一门户!G\0y#z|{&i+Z
1.软件需求是衡量软件质量的基础。如果开发出的软件与需求不一致,就谈不上软件的质量。软件测试技术第一门户5d.O*g;hnD"zL R
2.规定了的标准是软件开发必须遵循的准则,如果软件项目未能按标准开发,其质量必定是低劣的。软件测试技术第一门户a.fYoP @~io
3.软件通常有着一些不作明文规定的隐含需求,例如,要求软件有较好的可维护性、易扩展性等。如果开发的软件已经满足了明文规定的需求,却没有满足隐含的需求,那么软件产品的质量仍然是有问题的。
P6e(Cn\^t/~f w0软件的质量包括产品质量和过程质量,产品质量是文件、设计、代码和试验的属性,过程质量是指技术、工具、人员和组织机构方面的属性。提出过程质量是因为它有决定软件质量方面的作用,是为实际产品的生产建立一个必要的支持条件。不可能希望以不具备这个条件的软件测试技术第一门户)Sd }7Vc+U Q
工艺过程开发出成功的高质量的软件产品。软件测试技术第一门户$dn,M"i?V
S/q|^!p l X gh:M02 软件测试
ujKt N4J?0(1)软件测试的目的
EZ2p)u+t)EK*\4]8|0软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。在目前形式化方法和程序正确性证明技术还无望成为实用性方法的情况下,软件测试在将来相当一段时间内仍然是软件可靠性保证的有效方法。软件测试技术第一门户){~ q,}B;[ }!Ii
软件工程的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成软件开发项目。不足的测试势必使软件带着一些未揭露的隐藏错误投入运行,这将意味着更大的危险让用户承担。过度测试则会浪费许多宝贵的资源。到测试后期,即使找到了错误,然而付出了过高的代价。E.W.Dijkstra的一句名言说明了这一道理:“程序测试只能表明错误的存在,而不能表明错误不存在。”可见,测试是为了使软件中蕴涵的缺陷低于某一特定值,使产出、投入比达到最大。
(H n8} d7f&Mb Y!_j0(2)软件测试的基本过程
%u:~[%O+\3tr9MO]0软件测试是一个极为复杂的过程。一个规范化的软件测试过程通常包括以下基本的测试活动:软件测试技术第一门户 G&gFKSUBT
拟定软件测试计划
[7~"E2Y:i%n(Ics0编制软件测试大纲软件测试技术第一门户/j6qE1C)@(m0}
确定软件测试环境
HKW-k)\V$B u0设计和生成测试用例软件测试技术第一门户)K t;}6i;j1pB1P9P
实施测试软件测试技术第一门户,pgI9x4l}]q&h/}'U
生成软件测试报告软件测试技术第一门户NB N,R2^\9rNk[
对整个测试过程进行有效的管理,实际上,软件测试过程与整个软件开发过程基本上是平行进行的,那些认为只有在软件开发完成以后才进行测试的观点是危险的。测试计划早在需求分