您的位置:首页 > 其它

SWTBOK测试实践系列(5) -- 项目中使用手动和自动化的策略

2014-06-04 22:07 295 查看
手动测试和自动化测试永远是一个很热门的话题,自动化也一直被人们捧上神坛。自动化测试和手动测试从技术上来说本质其实都是测试用例设计,只不过最终形式一个是人工执行,一个是代码执行罢了。这两者就如白盒测试和黑盒测试一样在项目中都是不可或缺的。

我们来看两个场景。

案例一:某企业招聘软件测试工程师,并组建了各自分工明确的自动化和手动测试部门,在项目中两个测试团队分工明确并互相分享经验,最终项目产品的质量得到了良好的保证。

案例二:小陈同学想应聘软件测试工程师的岗位,投了很多简历之后也得到了若干面试的机会,但在面试过程中却频频因为自己之前都是手动测试而导致失败甚至被别人看不起。经过了一段时间之后,小陈同学也心灰意冷,也开始觉得手动测试就是没有价值的活动。

上面列举的场景在行业中非常常见。那么我们应该如何正确的在项目的测试活动中实施手动测试或自动化测试呢?主要有以下几个因素决定:

1. 回归和探索
我们在项目的测试过程中,回归测试是必不可少的一个环节,它能够使得我们的产品尽量不会出现重复的缺陷。比如测试输入法产品,无论功能和设计如何变化,其基本的字符输入功能总是不会改变的。在长期的项目迭代过程中,测试人员多少都会因为每次验证同样的问题而掉以轻心,同时也浪费了工程师的时间在重复的工作上。

往往这类每个迭代版本都需要验证的重要核心的功能就被贴上了自动化测试的标签。自动化测试既能够节省回归的成本也能够加入持续集成的平台。而每次版本新增的功能的单独模块和集成测试更多的需要手动的探索性测试,手动测试更多的需要基于测试人员对于产品的了解和经验而进行的,一个经验丰富的手动测试工程师能够在短时间内发现很多的功能上的缺陷,这绝对是自动化测试无法达到的高度。

2. 压力测试
测试活动的目的决定了选择手动测试还是自动化测试。就比如压力测试,本身测试的目的在于查看软件功能在被长时间使用之后是否会有内存泄漏、溢出等问题。这类测试活动如果手动来做的话,也许一个测试工程师一天八小时得全部放在这个上面,还未必能够达到测试得效果。所以这类测试就贴上了自动化测试得标签。只要有针对性得编写脚本去不停得使用产品,在自动化测试得过程中可监控功能的异常情况从而获取有效的信息。在这类测试活动中,手动测试是无法正常支持的。

3.场景模拟测试

在测试活动中有很多环境是我们通过手动测试无法覆盖到的。包括方法的各种类型的参数、各种边界的模拟等,这类测试活动就更适合用自动化来做。

在测试过程中,使用技术手段将各种测试环境、配置等进行模拟之后从而弥补手动测试在有限的测试环境中遗漏的测试点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐