• 复习:软件测试的原则


    1、测试用例中一个必须的部分是对预期输出或结果的定义。用例必须包含的两部分:对程序的输入数据的描述(也就是如何去测);对程序在上述输入数据下的正确输出结果的精确描述。

    2、程序员应当避免测试自己编写的程序。虽然很多小公司在资源上不太允许,很多是程序员交叉测试,但是在测试上看这是不太允许的,因为程序员和测试人员看待BUG的思维就不一样,程序员希望自己写的代码BUG越少越好,从而会无形中错过一次BUG;而测试人员做的是破外性的工作(程序员可是亲爹妈呀),希望尽可能地发现BUG。还有一个重要原因是如果某BUG是因为程序员在最初的需求等方面上理解有误,疑难定义或规范,那么程序员可能带着同样的误解来测试程序,那么这个BUG将很难被发现。

    3、编写软件的组织不应当测试自己编写的软件。这也就跟外包公司挂上边了。交由客观、独立的第三方来测试。原因除了同第二点的心理上的影响外,在大多数情况下,度量时间和成本目标会比较容易,而定量软件的可靠性就比较困难。当然现在很有公司有测试小组,但是从某种意义上来说,更经济的方法是由客观、独立 的第三方来测试。

    4、应当彻底检查每个测试的执行结果。

    5、有效预期输入;无效未预料输入

    6、“未做其应该做的”+“做了其不该做的”=测试7、应避免测试用例用后即弃,除非软件本身就是一次性的软件。在回归测试里的作用。

    8、程序某部分存在更多错误的可能性,与该部分已发现错误的数量成正比。(错误总是存在于聚集存在)

    9、杀虫剂悖论:缺陷具有免疫性,不可一直用同样的方法来测试。

    10、测试应尽早进行(尽量在前期进行),最好在需求阶段就开始介入。最严重 的错误不外乎是不能满足用户的需求。

    11、制定严格测试计划。测试时间尽量安排宽松,除了测试质量上的满足之外,还能应对需求变更。

    12、“彻底地测试”难以实现,要考虑时间、人力、财力等限制,不允许无休止测试(注意准出标准)。

    13、测试只能证明缺陷存在,不能证明缺陷不存在。

    14、并非所有的缺陷都需修复(主要看测试员的良好判断力)

    不需要修复的原因:1)没有足够的时间

                                    2)不算真正的缺陷

                                    3)修复的风险太大。修复一个缺陷可能导致其他缺陷的出现。不去理睬未知软件缺陷,以避免出现未知新缺陷。

                                    4)不值得修复。关乎商业风险决策


    关于软件测试的原则还有许多,很难将其全部列出来。

  • 相关阅读:
    【BZOJ4520】[Cqoi2016]K远点对 kd-tree+堆
    【BZOJ2843】极地旅行社 离线+树链剖分+树状数组
    【BZOJ3251】树上三角形 暴力
    SQL学习笔记三(补充-3)之MySQL完整性约束
    SQL学习笔记三(补充-2)之MySQL数据类型
    SQL学习笔记三(补充-1)之MySQL存储引擎
    SQL学习笔记二之MySQL的数据库操作
    SQL学习笔记一之初识数据库
    深入理解Python中的元类(metaclass)
    Web安全之BurpSuite抓取HTTPS请求
  • 原文地址:https://www.cnblogs.com/WFM1997/p/8439838.html
Copyright © 2020-2023  润新知