专栏首页贝克街的捉虫师软件测试的7个基本原则

软件测试的7个基本原则

视频编/译自Guru99,国外的一个免费IT教育平台,很喜欢这种短而精的视频教学形式,分享给大家。本人英语水平有限,字幕是机器翻译后再修改的,不当之处敬请谅解。

本视频介绍了每个专业软件测试人员和QA专业人士应了解的软件测试的七个基本原则。

https://v.qq.com/x/page/o0957f2wj3y.html

背景

在进行软件测试时获得最佳的测试结果,而不偏离目标,这很重要。但是,如何确定自己遵循正确的测试策略呢?为此,您需要坚持一些基本的测试原则。以下是在软件行业中广泛实践的七个常见测试原则。

要理解这一点,请考虑将文件从文件夹A移至文件夹B的情况。

想想所有可能的测试方法。

除通常情况外,您还可以测试以下条件

  • 尝试移动打开状态的文件
  • 您没有将文件粘贴到文件夹B中的安全权限。
  • 文件夹B在共享驱动器上,并且存储容量已满。
  • 文件夹B已经有一个同名文件

实际上列表是无止境的

或者假设您有15个要测试的输入字段,每个字段都有5个可能的值,要测试的组合数将为5^15

如果要测试所有可能的组合项目,则“执行时间和成本”将成倍增加。我们需要某些原则和策略来优化测试工作

以下是7条原则

1、不可能进行详尽的测试

是的!不可能进行详尽的测试。相反,我们需要根据应用程序的风险评估来确定最佳的测试量。

而关键的问题是,您如何确定这种风险?

2、缺陷群集

“缺陷群集”指:少数模块包含检测到的大多数缺陷。这是帕累托原理在软件测试中的应用:大约80%的问题出现在20%的模块中。

根据经验,您可以确定此类风险模块。但是这种方法有其自身的问题

如果一次又一次地重复相同的测试,最终相同的测试用例将不再找到新的错误。

3、杀虫剂悖论

随着时间的推移,重复使用相同的农药混合物消灭昆虫会导致昆虫对农药产生抵抗力,从而使农药对昆虫无效。软件测试也是如此。如果进行相同的重复测试,则该方法将无助于发现新的缺陷。

为了克服这个问题,需要定期检查和修订测试用例,并添加新的和不同的测试用例以帮助发现更多的缺陷。

测试人员不能仅仅依靠现有的测试技术。他必须不断注意改进现有方法,以使测试更有效。但是,即使经过所有这些汗水和艰苦的测试工作,您也永远不能声称您的产品没有错误。

4、测试仅能表明存在缺陷

这个测试原则指出-测试只谈论存在缺陷,而不谈论没有缺陷。即,软件测试可以降低软件中未发现的缺陷的可能性,但是即使没有发现缺陷,也不是没有问题的证明。

但是,如果您付出更多的努力,采取所有预防措施并使您的软件产品99%不含错误,该怎么办?并且该软件不能满足客户的需求。

这引出了我们的下一个原则,该原则指出:没有错误是不可能的

5、没有错误-不可能

99%无错误的软件仍然可能无法使用。如果针对错误要求对系统进行了全面测试,则可能是这种情况。软件测试不仅是发现缺陷,而且还要检查软件是否满足业务需求。没有错误是一个谬论,即,如果系统构建无法使用并且不能满足用户的需求,则发现并修复缺陷将无济于事。

为了解决这个问题,下一个测试原则指出:“尽早测试”

6、尽早测试

尽早测试-测试应在软件开发生命周期中尽早开始。这样就可以在早期阶段捕获需求或设计阶段中的任何缺陷。在测试的早期阶段修复缺陷要便宜得多。但是应该多早开始测试呢?建议您在定义需求后立即开始查找错误。有关此原则的更多信息,请参阅后面的培训教程。

7、测试跟业务相关

测试是依赖于业务的,这基本上意味着您测试电子商务站点的方式将不同于您测试桌面应用程序的方式。所有开发的软件都不相同。您可以根据应用程序类型使用不同的方法,方法,技术和测试类型。例如,零售商店的任何POS系统都将不同于ATM机的测试。

七项测试原则总结

原则1

测试仅表明存在缺陷

原则2

不可能进行详尽的测试

原则3

尽早介入测试

原则4

缺陷群聚效应

原则5

杀虫剂悖论

原则6

测试跟业务相关

原则7

错误不可避免

“原则仅供参考。我不会在实践中使用它们。”这是非常不真实的。测试原则将帮助您创建有效的测试策略并草拟捕获缺陷的测试用例。

但是,学习测试原则就像第一次学习驾驶一样。

最初,当您学习驾驶时,您会注意所有事物,例如变速,速度,离合器操纵等。但是,随着经验的积累,您只需专注于驱动其余部分就自然而然地发生了。这样您甚至可以与车内其他乘客进行对话。

测试原则也是如此。经验丰富的测试人员已经将这些原则内化到了即使不考虑也可以应用的水平。因此,没有在实践中使用这些原则的话是不正确的。

本文分享自微信公众号 - 贝克街的捉虫师(BSTester),作者:编/译自Guru99

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 开发者测试进阶

    xUnit几乎成为今天最为著名的面向开发者的测试框架,它是开源的自动化测试框架。最初它是面向Smalltalk及Sunit。我们知道,Smalltalk是一个非...

    归根落叶
  • 系统测试概述

    http://mpvideo.qpic.cn/0bf24yaacaaag4advbno6bpfbzwdahtaaaia.f10002.mp4?dis_k=bfd...

    归根落叶
  • 什么是非功能测试?

    什么是非功能测试? http://mpvideo.qpic.cn/0bf2yaaacaaaeuaa44547jpfbqgdahaaaaia.f10002.mp4...

    归根落叶
  • 产品经理与测试工程师的5点根本区别

    相对设计和开发来说,测试工程师是产品经理接触较少的一类人群,因为测试人员往往也是躲在项目幕后,默默地奉献着自己,确保产品能够正常运行。产品测试是很重要的一个环节...

    BestSDK
  • 程序员眼中的测试

    码农的产品和服务大都是以软件形式存在的,我们存在的价值之一就是快速提供高质量的软件产品或服务。如何保障软件的高质量呢?这与软件测试分不开的,测试是保证软件质量的...

    半吊子全栈工匠
  • 软件测试工程师职称评定细则

    3.有较强的分析问题能力和文字表达能力,逆向思维好;能完成测试方案、测试案例、测试报告的编写;

    新梦想IT职业教育
  • 有赞业务中台测试团队介绍

    有赞帮助每一位重视产品和服务的商家成功,目前旗下拥有:有赞微商城、有赞零售、有赞美业、有赞小程序等 SaaS 软件产品,适用全行业多场景,帮商家网上开店、网上营...

    测试开发社区
  • 软件测试:管理篇

    A是软件测试部负责此日历行程的测试工程师,在做日程提醒事件测试时,他发现如果手机电力不足(不足于开机),而这段时间正好有提醒事件发生,则在下次开机后不会再提醒,...

    测试开发社区
  • 一次完整的性能测试,测试人员需要做什么?

    规范的性能测试实施流程能够加强测试工作流程控制,明确性能测试各阶段应完成的工作,指导测试人员正确、有序的开展性能测试工作,提高各角色在性能能测试中的工作效率。本...

    海涛
  • 总结49种软件测试方法,你知道几个?

    β测试,英文是Beta testing。又称Beta测试,用户验收测试(UAT)。

    新梦想IT职业教育

扫码关注云+社区

领取腾讯云代金券