自动化测试方案包括指明测试中需要什么样的数据,并给出设计数据的完整方法;需要明确测试设计的细节描述,还应该描述测试的预期结果;完成测试设计文档,需要描述清楚测试设计的思路;编写测试脚本。对于脚本的开发我们需注意以下问题:
第一、开发脚本必须遵循一些规范化,就类似于程序员编程规范一样。我们的测试脚本就好比是我们测试人员的程序,同样要形成一个编写规范。因为养成这样的好习惯,是为了能方便维护脚本,避免增加后期的维护量和方便使用者使用;
第二、保证开发的脚本回放没有问题的基础上,适当增加出错处理来增强脚本;
第三、后期还可以在脚本中加入检查点,这样做的好处可以把原来需要人工去校验的地方让脚本去做;
第四、在脚本中增加数据驱动方法,使脚本能覆盖更多的分支路径,进一步提高脚本的集成度。因为前面已经说过了,脚本是不会执行那些没有被编写进去的功能点的,所以说后期测试人员一旦发现这个地方有必要让脚本来代替手工进行执行,就可以不断的增强我们的自动化脚本。
2.5可行性分析
可行性分析是指验证自动化测试项目的可行性,尽可能快地验证你采用的测试工具和测试方法的可行性,站在产品的角度验证产品采用自动化测试的可行性。同时要
确定测试工具和测试方法对于被测试的产品和测试人员是否合适。选择一个快速,有说服力的测试套,它是评估测试工具的最好的方式,它可以证明你所选测试工具和测试方法的正确性。
2.6自动化测试的维护和扩充
自动化测试是一个长期的过程,为了与产品新版本的功能和其他相关修改保持一致,自动化测试需要不停的维护和扩充。自动化测试设计中考虑自动化在未来的可扩充性是很关键的,不过,自动化测试的完整性也是很重要的。如果自动化测试程序报告测试用例执行通过,测试人员应该相信得到的结果,测试执行的实际结果也应该是通过了。其实,有很多存在问题的测试用例表面上执行通过了,实际上却执行失败了,并且没有记录任何错误日志,这就是失败的自动化。这种失败的自动化会给整个项目带来灾难性的后果,而当测试人员构建的测试自动化采用了很糟糕的设计方案或者由于后来的修改引入了错误,都会导致这种失败的测试自动化。失败的自动化通常是由于没有关注自动化测试的性能或者没有充分的自动化设计导致的。
3自动化测试应用的范围
自动化测试并不是要求全程自动化,使用自动化测试代价也非常之高。自动化测试主要是用在存在大量重复性的手工测试项目和测试时间比较长的项目。很多测试小组都是在回归测试中采用自动化测试。所谓回归测试指在修改了原软件后,对其重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。它通常使用相同的测试用例和测试方法,自动化测试方法最适合。关于系统中模块的测试,对那些最有可能出问题或者不会破坏原先设计的重构任务进行自动化测试,性价比最高。
自动化测试绝不能代替手工测试,它只是手工测试的补充。对于那种不稳定软件的测试,开发周期很短的软件,一次性的软件等不适合用自动化测试。自动化测试是使用工具进行测试,工具本身并没有想象力和灵活性,根据报道,自动化测试只能发现15的缺陷,而手工测试可以发现85的缺陷。合理的运用自动化测试可以大大提高工作效率,反之则会是无休止的噩梦。无论测试自动化多么强大,现阶断,仍然是以手工测试为主。
4自动化测试的优势与不足
软件测试中,手工测试不够全面和彻底,因为它花费了很多时间。代码在修改或添加之后,运行预定义的人工测试集来保证修改不会产生新的问题。人工测试花费的时间越来越多,并给开发者带来挫折感,打击他们执行测试的积极性。而且,测试的工作量使得开发者不愿意改进或优化现有的代码。
当开发者测试他们自己的代码时,他们总是不愿意执行最苛刻的测试用例,因此就导致了最有可能出错之处也是最不可能被全面测试到这样的情形。
自动化测试无需人工干预就可以完成,它们缩短了开发过程。而且由于自动化测试可以简单快速的发现修改的代码是否能有效地运行,因此也就鼓励开发者优化和改进现有的代码。
测试自动化往往对测试人员的技术水平要求很高,测试人员必须充分理解自动化测试,但是,自动化测试不利于测试人员积累测试经验。
不要强行在测试的每个部分都采用自动化方式,寻找能够带来最大回报的部分,部分的采用自动化测试是最好的方法。可以采用手动确认测试和自动化测试相结合的方法。
5结论
任何工作的开展并非一朝一夕,新技术的开展将需要投入大量人力物力,而自动化测试就是我们测试工程师必须要坚持的一个长期的发展方向。为了不至于做事只做表面,建议每个测试团队中都必须要有专人去负责推动自动化工作的开展。还必须有专人负责维护脚本,规范脚本,甚至可以引入配置管理工具来统一管理脚本和把经验文档化。只有这样我们的测试财富才会从中不断积累,只有这样自动化测试才能走得更远。
文章来源于领测软件测试网 https://www.ltesting.net/