目前在我们测试中存在各种测试手段,各种测试方法,仅仅了解这些手段和方法是远远不够的,比如我们运用WEBX层的接口测试,GUI的RUBY自动化测试和手工测试多种测试手段,但是感觉在项目中并没有很好的把这些测试手段充分利用起来。常常在想怎样才能很好的把这些测试手段很好的运用起来呢,如何充分利用它来提高工作效率,确保质量呢?要想充分利用这些测试手段,觉得首先应该要了解他们各自的优缺点,我在这里总结一下他们各自的优缺点。至于如何充分结合,还没有找到特别好的方法,这里根据实践发表一下自己的看法。
手工测试优势
1. 学习门砍低,容易上手
2. 灵活性强,适应性强
3. 界面体验性和感光性强
4. 能够快速发现BUG,无需编写代码。
5. 想象力强
手工测试缺点
1. 重复性劳动多,容易让人产生疲惫感。
2. 问题定位难
3. 重现软件缺陷的能力弱
4. 对系统代码逻辑不了解以及覆盖情况不了解;这样不利于回归性测试,仅仅从业务方面来评估回归点不够准确,需要开发人员配合评估相应的回归点。
GUI自动化测试优势
1. 对于一些重复性高的用例使用GUI自动化测试能提高测试效率。
2. 对于回归测试更方便
3. 更好地重现软件缺陷的能力,自动化测试具有一致性和可重复性。每次测试的结果和内容一致,操作步骤也一致,从而容易重现问题。
4. 复用性强,一个脚本可反复执行。
5. 运行更多更繁琐的测试更方便,在较少的时间内运行更多的用例。
6. 对于数据驱动方面的GUI自动化测试可以不用完全依赖界面,特别是牵涉到多个应用的流程,有时候某个应用有问题,手工测试无法进行时,此时使用数据驱动的GUI自动化测试比较方便。
7. 能减少测试过程中的疏忽和错误,只要测试设计上没有问题,基本没有问题。从而增强软件的信任度。
8. 更好的利用测试资源,可以在无人时定时执行脚本,到时候直接看执行结果即可。
GUI自动化测试缺点
1. 不能完全取代手工测试
2. 依赖于测试软件的稳定性。
3. 发现的缺陷比手工测试少得多。
4. 维护成本高,界面上任何改动,都需要及时修改脚本。
5. 工具本身无想象力,依赖于人的思维,即完全依赖于测试设计质量。
6. 在短期内没有明显的效果,只有长期坚持才能见到一定效果。
7. 无法用于易用性测试
8. 无法用于涉及物理交互的测试,比如银行软件的密码机输入密码的测试,使用介质刷卡的测试等等。