一、软件测试的定义
软件测试的经典定义是在特定条件下运行程序,以发现错误并评估软件质量。因为软件是由文档、数据和程序组成的,所以软件测试的对象不仅是程序本身,而且是软件形成过程中的文档、数据和程序。
随着软件工程越来越受到重视,软件规模不断扩大,软件分析和设计的作用越来越突出。在实践中,越来越多的错误存在于分析和设计的初始阶段,所以测试软件需求和设计阶段是非常重要的,这是测试概念和软件生命周期测试概念的扩展。
二、软件质量
软件质量有以下定义:
1991年,它在ISO 9126被定义
软件质量是软件满足特定或潜在用户需求的特征的总和
1999年,国际标准化组织14598定义
软件质量是软件特性的总和,是软件满足特定或潜在用户需求的能力。
一般来说,对质量的理解是一个实体的“属性”,好的属性意味着好的质量,但这还不够全面,因为“属性”是一个内在特性,好的内在特性并不一定意味着用户的任务能很好地完成,所以软件质量也是软件特性“能力”的体现。
软件质量包括三个部分:“内部质量”、“外部质量”和“使用质量”,也就是说,软件满足指定或潜在用户需求的能力应该从这三个方面来衡量。
第三,软件测试和质量保证的区别
质量保证:质量保证的工作是通过预防、检查和改进来保证软件的质量。QA采用“全面质量管理”和“过程改进”的原则开展质量保证工作。关注的是软件质量的管理和度量。尽管在质量保证活动中有一些测试活动,但主要关注的是软件质量的检查和测量。
软件测试:测试和质量保证都与软件开发过程密切相关,但不同的是,它们不关心软件开发过程的活动,而是分析过程的产品和开发的软件。测试活动必须假设软件中存在潜在的问题,测试中的所有操作都是为了发现更多的问题,而不仅仅是为了验证一切都是正确的。对测试中发现的问题进行分析、跟踪和回归测试也是软件测试中的重要任务,所以软件测试是保证其质量的重要环节。
第四,软件测试的目的
早期,软件定义指出,软件测试的目的是发现错误,尽可能多地发现错误。后来,有人提出了以下目的:
1.测试是程序的执行过程,旨在发现错误
2.一个好的测试用例是能够发现到目前为止还没有发现的错误
3.成功的测试是发现迄今为止尚未发现的错误的测试
4.也有人提出,软件测试不仅是为了发现缺陷,也是为了通过度量软件的质量来提高软件的质量。
综上所述,软件测试的目的可以概括为:软件测试是用最少的人力、物力和时间发现软件中的各种潜在错误和缺陷,通过纠正各种错误和缺陷来提高软件质量,避免软件发布后潜在的软件缺陷和错误所带来的隐患所带来的商业风险。同时,测试是一项旨在评估程序或系统属性的活动。测试是对软件质量的度量和评价,它验证软件质量满足用户需求的程度,为用户选择和接收软件提供有力的依据。
注意:测试是为了证明软件能不能用,也就是满足用户的需求。
动词 (verb的缩写)软件测试原理
原则1:所有的测试都应该追溯到用户需求
因为软件设计和开发的目的是为了让用户完成预定的任务,满足用户的需求,所以软件测试揭示的缺陷和错误使得软件无法满足用户的目标和需求。
原则2:软件测试应该尽早持续进行
因为软件生命周期的每个阶段都可能产生错误,所以软件测试不应该被视为软件开发活动的独立阶段,而应该贯穿于开发的所有阶段。同时,测试应尽早开始。只要在生命周期中尽早进行测试,被测试软件的质量就可以得到提高。这是预防性测试的基本原则。
原则3:完全测试是不可能的,需要终止测试
在时间和资源有限的情况下,不可能找出所有的软件缺陷。主要有三个原因:
1.输入量太大
2.输出结果太多
3.路径组合太多
原则4:测试不能显示软件的潜在缺陷
也就是说,测试只能证明软件有缺陷,不能证明软件没有缺陷。
原则5:充分注意测试中的聚类现象
经验表明,测试后程序中剩余错误的数量与程序中发现的错误数量或错误检测率成正比。根据这个规则,我们应该重点测试错误集群的程序段,以提高测试效率。
原则6:程序员应该避免检查自己的程序
这有两个原因,一个是心理原因,一个是心态原因,一个是人不愿意承认自己的错误,心态让自己很难发现自己的错误。因此,为了达到测试的目的,应该避免这种情况。
原则7:尽量避免测试的随机性
软件测试应该从工程的角度来理解。这是一项有组织、有计划、循序渐进的活动
附件:内容来自《软件评论教程》
1.《什么叫封测 什么是软件测试?进行软件测试的目的是什么?》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《什么叫封测 什么是软件测试?进行软件测试的目的是什么?》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/fangchan/792396.html