手工测试主要适用测试类型?写出没有错误的程序有两种途径,可惜只有第三种才有用----艾伦.佩利,我来为大家科普一下关于手工测试主要适用测试类型?下面希望有你要的答案,我们一起来看看吧!
写出没有错误的程序有两种途径,可惜只有第三种才有用。----艾伦.佩利
一、软件缺陷的根源
软件缺陷(即所称的bug)的根源来自于软件本身。
软件失效的主要原因是因为开发人员没有理解、预见或测试所有可以运行软件的环境。
两种缺陷:程序员引入的缺陷和运行环境导致的缺陷。
二、缺陷的预防和检测
因为错误是不可避免的,所以需要讨论如何尽可能的把缺陷排除在软件开发周期之外,以便尽量的减少并提高软件质量。这主要存在两大类技术:缺陷预防和缺陷测试。
A、缺陷预防
缺陷预防技术一般是从开发人员的角度来说的,包括编写更好的设计规范,实施代码审核制度,运行代码静态分析工具,运行单元测试(往往是自动化测试)所有的这些缺陷预防技术都是一些根本的问题,如果不能解决这些根本问题,这些技术都不会有效。
类似代码审核或静态分析的技术不要求实际运行软件,也就是说它们分析的是处于静止状态的软件。但是,若程序不在真实的环境中运行,许多的bug就不能被及时的发现。即除非在运行软件时使用真实的输入数据,否则无济于事,这些缺陷仍隐藏的很深。
而测试是一个动态的过程,它包括在不同的环境中运行软件,使用合理的测试数据,并在较短的测试周期内尽可能的不同的输入值,发现软件中存在的缺陷。这些不都是我们测试工程师的工作技能吗?
B、缺陷检测
测试人员一般使用两种不同的动态测试:自动化测试和手动测试。
对于自动化测试这里只说一点,这点并不是说自动化测试不好,而是阐述其局限性。那就是自动化的致命弱点:预言家难题。“预言家难题”指的是测试中最艰巨的任务之一,就是在运行一个测试用例时,如何才能知道被测试软件确实完成了它应该完成的任务?被测试软件是否输出了正确的结果?在运行过程中,是否带来任何副作用?如何才能确信这一点?如果给定一个用户环境,特定的数据配置和输入顺序,是否存在一个“预言家”可以根据这些情况作出这样的断言:“软件确实做了,也只做了它所应该做的事情”?
今天这里我们就主要讲讲第二种测试方法:手动测试
手动测试(manual testing)是需要由人来手动进行测试。测试人员需要手脑并用,充分发挥聪明才智,设计出导致软件失效或符合软件设计效果的真实场景。由人工进行手动测试,可以最大程度的发挥人的主观能动性和积极性。
许多的测试工程师像我一样是从手动测试开始进入测试这个行业的,测试中慢慢的发现手动测试也有许多的瑕疵:测试速度慢、没有规律、发现问题后有时候不能重现。如何更好的解决这些问题?在这里介绍一种方法----“探索性测试”。
本片文章只是简单介绍一下这种方法,在今后中会一一展开的。
探索性测试,顾名思义就是测试人员在测试应用测试中可以想怎么测就怎么测,利用应用程序所提供的信息自由发挥,没有限制,不受任何约束的探索程序的各种功能。使用探索式测试并不是说不写文档。测试结果、测试实例和测试文档都会在运行测试时创建。探索性测试的缺点在于测试人员有可能在测试中没有重点,从而满屋目的的尝试各种情况来试图发现软件缺陷,这会浪费大量的时间。这就要求我们在测试开始前先弄清楚自己测试的目的到底在哪里?测试的思路是什么?从测试策略的角度来说,明确到底要测什么和怎么测试同样重要。
探索性测试有两种指导方法:一种是局部探索性测试,它辅助测试人员在测试过程中即时作出决定;另一种是全局探索性测试,它用于帮助测试人员设计整体测试计划和测试策略。对于这两种的具体知识以后再和大家分享。最后送大家一句话:在测试软件时,必须全身关注,绝不能心不在焉。
,