简述软件测试的基本原则

如题所述

一、软件测试基本原则

1、所有测试的标准都是建立在用户需求之上的,测试的目的在于发现系统是否满足规定的需求。

2、尽早的和不断的测试,越早进行测试,缺陷的修复成本就会越低。

3、程序员应避免检查自己的程序,由第三方进行测试更客观有效。

4、穷举测试是不可能的。

5、充分注意测试中的群集现象,一段程序中一发现的错误数越多,其中存在的错误概率越大,因此对发现错误较多的程序段,应进行更深入的测试。

6、设计测试用例时应包括合理输入和不合理输入,以及各种边界条件、特殊情况下要制造极端状态和意外状态。

7、注意回归测试的关联系,往往修改一个错误会引起更多错误。

8、测试应从“小规模”开始,逐步转向“大规模”。

9、测试用例式设计出来,不是写出来的,应根据测试的目的,采用相应的方法设计测试用例,从而提高测试的效率,更多的发现错误,提高程序的可靠性。

10、重视并妥善保存一切测试过程文档(测试计划,测试用例,测试报告等)。

扩展资料:

软件测试的定义

在规定的条件下对程序进行操作,从而发现错误,对软件质量进行评估的一个过程。
使用人工和自动手段来运行或测试某个系统的过程,其目的在于它是否满足规定的需求或是弄清预期结果和实际结果之间的差别。

参考资料来源:百度百科-软件测试技术

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-08-06
软件测试的几大原则:
1.软件开发人员即程序员应当避免测试自己的程序
测试模型---W模型
不管是程序员还是开发小组都应当避免测试自己的程序或者本组开发的功能模块。
2. 应尽早地和不断地进行软件测试
3.对测试用例要有正确的态度:第一,测试用例应当由测试输入数据和预期输出结果这两部分组成;第二,在设计测试用例时,不仅要考虑合理的输入条件,更要注意不合理的输入条件。因为软件投入实际运行中,往往不遵守正常的使用方法,却进行了一些甚至大量的意外输入导致软件一时半时不能做出适当的反应,就很容易产生一系列的问题,轻则输出错误的结果,重则瘫痪失效!因此常用一些不合理的输入条件来发现更多的鲜为人知的软件缺陷。
4.人以群分,物以类聚,软件测试也不例外,一定要充分注意软件测试中的群集现象,也可以认为是“80-20原则”。不要以为发现几个错误并且解决这些问题之后,就不需要测试了。反而这里是错误群集的地方,对这段程序要重点测试,以提高测试投资的效益。   5.严格执行测试计划,排除测试的随意性,以避免发生疏漏或者重复无效的工作。   6.应当对每一个测试结果进行全面检查。一定要全面地、仔细地检查测试结果,但常常被人们忽略,导致许多错误被遗漏。   7.妥善保存测试用例、测试计划、测试报告和最终分析报告,以备回归测试及维护之用。
第2个回答  推荐于2017-12-16
软件测试的原则

软件测试从不同的角度出发会派生出两种不同的测试原则,从用户的角度出发,就是希望通过软件测试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以接受该产品,从开发者的角度出发,就是希望测试能表明软件产品不存在错误,已经正确地实现了用户的需求,确立人们对软件质量的信心。

测试原则就是从用户和开发者的角度出发进行软件产品测试的,通过我们的测试,可以为用户提供放心的产品,并对优秀的产品进行认证。

为了达到上述的原则,那么需要注意以下几点:
1.应当把“尽早和不断的测试”作为开发者的座右铭
2.程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成。
3.设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。
4.一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。
5.对测试错误结果一定要有一个确认的过程,一般有A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析。
6.制定严格的测试计划,并把测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。
7.回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多的错误出现的现象并不少见。
8.妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。本回答被网友采纳
第3个回答  2021-09-10
原则一:软件测试是为了证明软件存在bug
很多人都会犯的一个错误:要是没有发现错误的测试说明软件没有bug。
这个原则换一种表达方式,软件测试的本质是为了证明软件测试存在bug(证伪),而不是为了证明软件没有任何bug(证实)。
软件测试只能找出软件或者应用程序当中存在的bug,测试也是为了辅助开发,降低bug存在的可能性而展开的活动,就算对应用程序或者产品进行了很多次,或者是比较彻底的测试,没有发现任何bug,也不能证明软件是百分之百完美的。
原则二:尽可能早的介入测试
不论是尽早的发现某人的疾病,还是在提前到公司/学习/约会地点等等,“早”永远好于“晚”,由于“早”,预留了时间,遇到事情可以更坦然从容,而软件测试,越早介入越好,只要是生成产品需求或文档,从事软件测试的人员就可以开始测试了,为了软件开发的下一个阶段做好准备。
不仅如此,bug的修复成本与发现bug的时间成反比,越晚修复,需要的成本就越高!如果一个bug发现太晚,可能需要改变整个系统。而在一开始,解决问题总是更容易,需要的成本也不高,有一个词我觉得可以很好的形容——“及时止损”!
因而,越早介入测试,可以帮助团队提早检测到错误,让开发团队以更少的精力和成本来解决问题。
还有,如果测试人员尽早介入,可以更加全面了解项目的需求和整体的进度,尽早介入和测试前移有异曲同工之妙。
原则三:要让测试完全覆盖是不可能的
通常来说,项目是有一定周期的,而在这个时间里是不可能让测试人员在项目当中进行大量有效的组合测试,由于这需要花费大量的时间和精力,因而,测试只能专注于一些重要的指标,如:设置测试策略的风险和优先级。
尤其是系统承载的业务越多,代码规模庞大,算法逻辑复杂度也越来越高,想要让测试完全覆盖就更加不可能了,但是我们就不测了吗?当然不行,不过,我们可以用一些办法:①更精准的去测试,哪里变动了就测哪里②二八原理,即测重点③等价划分等等
原则四:bug具有集群性
上一条也提到了,想要让测试完全覆盖是不可能的,但是在不得不测的情况下,就需要从事这一行业的人员利用自己的经验和相关知识,比如,哪些模块更加容易出错?就对哪些模块重点详细的检测,或是之前检测到什么样的bug,这个项目当中会不会也有相同的bug?
原则五:测试不应该追求无bug
第一条也提到了,一个软件不可能没有bug,软件测试也不仅仅是为了找出bug,还要判断这个软件是不是符合用户的需求和期望,就算经过各种各样的测试,也不能证明这个软件是完美的。假如这个产品不能满足用户的需求,即使没有任何bug,也是失败的。
因此,测试不应该追求无bug,快速创造出用户所需求的产品才是测试人员真正追求的。
原则六:测试不能“生搬硬套”
不一样的产品,不一样的项目,有不一样特征,元素,要求,因此,软件测试不能用一个测试方法去做所有的项目,举个栗子,像是银行项目的测试就需要比娱乐游戏的测试要更多,更严谨一些。
原则七:经常审查和更新测试用例
如果测试人员一直用相同的方法和工具去重复的测试,就会像人经常用同一种东西一样,产生抗体,因此,经常审查和更新测试用例是非常有必要的本回答被网友采纳
第4个回答  2020-06-11

相似回答