总结各种软件的测试手段[2] 软件测试
2、关注测试员的基于人员的测试手段
以下是一些通过执行测试的人来区分的常见手段举例。
用户测试(user testing) 。由将使用该产品的典型人员进行输入的测试。用户测试可以在开发期间任何时候进行,可以在开发场地,也可以在用户场地,可以在精心指导下进行,也可以根据用户的意愿进行。有些类型的用户测试,例如任务分析,更像是联合探索(涉及至少一名用户和至少一名公司测试小组成员),而不是由一个人完成的测试。
α测试。由测试小组(可能还包括其他感兴趣的、友善的内部人员)执行的内部测试。
β测试。利用不属于开发机构并且是产品的目标市场成员的测试员实施的用户测试。待测产品一般非常接近完成。很多公司都将让客户试用代码看作是β测试,他们把所有β测试都归结为叫做“β”的里程碑。这是个错误。实际上有很多不同类型的β测试。设计β,用于要求用户(特别是有关领域的专家)评价设计,应该尽可能早地实施,以便有根据评价意见进行修改的时间。市场开发友β,用于再次确认在该产品推出并投放自己的大型销售网上时会有大量客户购买,实施时间相当晚,要等到产品相当稳定之后。兼容性测试β,客户在开发机构自己不容易测试的硬件和软件平台上运行该产品。这种测试不能太晚,否则难以确定和解决兼容性问题。对于所管理的任何类型β测试,在确定进度和实施方法之前,都要确定测试目标。
强力测试(bug bash)。利用秘书、程序员、市场开发人员和可以找到的任何人所实施的内部测试。强力测试一般持续半天,在软件接近投放市场时进行。(请注意,我们列出这种手段是为了举例,并不表示赞同。有些公司由于种种原因认为它很有用,有些公刮则认为没用。)
有关领域的专家测试(subject-matter expert testing)。向软件目标领域内的专家提供产品,并寻求反馈唐见(错误、批评和赞扬)。专家可以是,也可以不是预期使用产品的客户,公司看重的是专家的知识,而不是其市场代表性。
成对测试(paired testing) 。两个测试员在一起发现程序错误。一般情况下,他们共用一台计算机,在测试时轮流操作。
自用测试(eat your own dogfood)。全公司使用并依靠自己软件的试用版,通常要等到软件足够可靠能够实际使用时.才向市场销售。
3、关注测试内容的基于覆盖率的测试手段
可以根据在使用这些手段时已经掌握的知识的不同,把这些手段按所关注的问题进行多种不同的分类。例如,如果把功能集成测试用于检查每个功能与所有其他功能组合在一起时是否能够正常延行.则这种测试就是面向覆盖率的测试。如果有针对功能相互交互的错误理论,并想进行跟踪,则这种测试就是面向问题的测试。(例如,如果意图是想发现功能在相互传递数据时出错,就是面向问题的测试。)
我们将在本章末尾补充解释这些定义中的一些领域测试,因为与领域有关的手段在软件测试中使用得非常普遍、非常重要。读者应该对其有所了解。
功能测试(function testing) 。逐个测试每个功能。彻底测试功能,直到可以确信该功能没有问题。白盒功能测试通常叫做单元测试,集中测试可以看到代码的功能。黑盒功能测试关注命令和特性,以及用户可以做或选样的事情。在做涉及多个功能的更复杂的测试之前,最好先做功能测试。在复合测试中,第一个出现问题的功能可能会使测试停下来,阻止通过这个测试发现多个其他功能也出现问题。如果依靠复合测试而下是单个测试功能,可能要到很晚才会知道有一个功能出现问题,可能要花费大量工作在复合测试中定位,最后却发现问题出现在一个简单功能上。
文章来源于领测软件测试网 https://www.ltesting.net/