课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的程序员都转型软件测试的相关技术岗位,而本文我们就通过案例分析来简单了解一下,软件测试原则都有哪些类型。
原则1:测试找不出所有的Bug
软件的复杂性仅次于生命体,甚至现在很多软件都已经有了人工智能的属性。对于这样精妙的系统,一小点异常都有可能产生连锁反映,终让整个系统无法运行。就好像人体只需要吸入一粒微小的尘埃,就可能感染病菌,从而引起人体的高能反应,终导致人病倒,无法行动。
像软件这样的精妙系统,就算做再多测试,也无法找出所有的错误,就好像你永远无法保证,人不生病一样。
原则2:2/8原则
少数功能模块会测试到大多数缺陷,用数字来表示就是80%的问题出现在20%的功能模块中。在很多领域中都存在2/8原则,而在测试中同样会运用到这个原则。
为什么会这样的原因很多,我们只能适当分析。比如开发某个功能模块的程序员水平不行,引入了大量缺陷;也可能是这个功能模块非常复杂,可能出现大量没有考虑到的因素。
原则3:尽早介入测试
一个软件越复杂,越有可能产生新bug。热力学二定律指出:孤立系统自发地朝著热力学平衡方向──大熵状态──演化,同样地,二类永动机永不可能实现。
这个定律同样适用于信息系统。当一个软件引入越多的信息,越多的功能,会让软件变得越来越混乱,从而产生越来越多bug。
如果要少产生bug,先是要保持软件整体的简单性,还有就是尽早介入测试。因为在一个功能被开发的早期,功能还足够简单,早期介入测试能更高效的找到bug,如果一个功能演化到后期,被更多其他的程序使用,变得越来越复杂,找到bug会难很多。尽早介入测试,还可以让开发快速得到反馈,从而尽快修复bug,不会把bug带到更复杂的代码世界中。
原则4:抗药性原则
抗药性原则又叫杀虫剂悖论(PesticideParadox)。随着时间的推移,重复使用相同的杀虫剂消灭昆虫会导致昆虫对农药产生抵抗力,从而使杀虫剂对昆虫无效,这同样适用于软件测试。
如果进行相同的重复测试,则该方法将无助于发现新的缺陷。为了解决此问题,需要定期检查和更新测试用例,添加新的和不同的测试用例以帮助发现更多的缺陷。测试人员不能简单地依靠现有的测试技术。他必须不断寻找改进现有方法的方法,以使测试更有效。
原则5:要有精确的预期结果
测试用例中一个必需部分是对预期输出或结果的定义,这条显而易⻅的原则在软件测试中却是常犯的错误之一,很多测试人员对程序应该产生的结果没有明确定义,只是凭感觉判断结果是否异常。
尽管“软件测试是破坏性”的定义是合理的,但人们在潜意识中仍然渴望看到正确的结果,所以当程序运行符合测试人员的心理预期时,他们会自以为程序是正常的。没有期望,也就没有所谓的意外。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。