目前在我们测试中存在各种测试手段,各种测试方法,仅仅了解这些手段和方法是远远不够的,比如我们运用WEBX层的接口测试,GUI的RUBY自动化测试和手工测试多种测试手段,但是感觉在项目中并没有很好的把这些测试手段充分利用起来。常常在想怎样才能很好的把这些测试手段很好的运用起来呢,如何充分利用它来提高工作效率,确保质量呢?要想充分利用这些测试手段,觉得首先应该要了解他们各自的优缺点,我在这里总结一下他们各自的优缺点。至于如何充分结合,还没有找到特别好的方法,这里根据实践发表一下自己的看法。
手工测试优势
- 学习门砍低,容易上手
- 灵活性强,适应性强
- 界面体验性和感光性强
- 能够快速发现BUG,无需编写代码。
- 想象力强
手工测试缺点
- 重复性劳动多,容易让人产生疲惫感。
- 问题定位难
- 重现软件缺陷的能力弱
- 对系统代码逻辑不了解以及覆盖情况不了解;这样不利于回归性测试,仅仅从业务方面来评估回归点不够准确,需要开发人员配合评估相应的回归点。
GUI自动化测试优势
1. 对于一些重复性高的用例使用GUI自动化测试能提高测试效率。
2. 对于回归测试更方便
3. 更好地重现软件缺陷的能力,自动化测试具有一致性和可重复性。每次测试的结果和内容一致,操作步骤也一致,从而容易重现问题。
4. 复用性强,一个脚本可反复执行。
5. 运行更多更繁琐的测试更方便,在较少的时间内运行更多的用例。
6. 对于数据驱动方面的GUI自动化测试可以不用完全依赖界面,特别是牵涉到多个应用的流程,有时候某个应用有问题,手工测试无法进行时,此时使用数据驱动的GUI自动化测试比较方便。
7. 能减少测试过程中的疏忽和错误,只要测试设计上没有问题,基本没有问题。从而增强软件的信任度。
8. 更好的利用测试资源,可以在无人时定时执行脚本,到时候直接看执行结果即可。
GUI自动化测试缺点
- 不能完全取代手工测试
- 依赖于测试软件的稳定性。
- 发现的缺陷比手工测试少得多。
- 维护成本高,界面上任何改动,都需要及时修改脚本。
- 工具本身无想象力,依赖于人的思维,即完全依赖于测试设计质量。
- 在短期内没有明显的效果,只有长期坚持才能见到一定效果。
- 无法用于易用性测试
- 无法用于涉及物理交互的测试,比如银行软件的密码机输入密码的测试,使用介质刷卡的测试等等。
WEBX层的接口测试的优点
1. 能够测试手工和GUI自动化测试难于测试的功能点,比如与支付宝的异常处理,重复调用,后台时间程序的测试不需要开发配合。对于这些手工难于测试的,使用接口测试比较容易测试。
2. 重复利用力高。
3. 相对来说比GUI自动化测试维护成本低
4. 更了解开发代码,能提高测试覆盖率。
5. 加强测试人员与开发人员的关系,提高测试人员的在开发人员心目中的地位。
6. 提高测试人员评估业务回归点,定位问题能力。
WEBX层的接口测试的缺点
1.不能完全取代手工测试和GUI层的自动化测试。
2.对文档要求高,需要开发提供全面的接口文档,而此文档开发往往无法在早期提供,即使提供也是不全面的文档,此时测试人员需要通过代码中去查找相应的参数和接口方法。
3.对测试人员的要求比较高,前期需要搭建WEBX层的环境特别麻烦。排错麻烦,有时候不知道是配置的错误还是代码的错误。
4. 无法用于跨应用的集成测试和跨页面的流程测试。
5. 无法测试浏览器的兼用性测试,无法测试页面的JS问题。
6. 一般前端代码完成比较晚,要达到稳定程度太晚,如早期投入编写WEBX接口测试代码改动比较大,需要跟踪和修改,投入大,产出小。
7. 对于改造性的老系统,基本无全面的接口文档,需要对老系统的架构非常了解,切入点高。
8. 很难发现底层BUG。
基于以上三种测试手段的优缺点比较和实践比较,感觉手工测试还是占主导地位,发现的BUG比GUI自动化测试和WEBX层的接口测试发现的BUG多得多。但是WEBX层的接口测试和GUI自动化测试可以起到互补的作用,那么什么情况下使用GUI自动化测试,什么情况下使用WEBX接口测试合适呢?
WEBX层的接口测试适用性:
1. 对于一些手工难于测试的功能点可以使用WEBX层的接口测试实现。测起来比较方便。
2. 单页面回归性测试可以使用WEBX层接口测试,减少部分人力资源投入。
GUI自动化测试适用性:
1. 日常回归测试中需要反复重复执行的用例,使用GUI自动化测试能够提高工作效率,定时运行即可。
2. 对于数据准备比较繁琐的回归测试使用GUI自动化测试起到很大的效果,能够大大提高工作效率。
3. 对于周期比较长的项目,比如有一期,二期等多期的项目,并且执行重复率比较高的用例,使用GUI自动化测试较合适。
其他的比如周期短的项目,业务规则复杂的项目,有与物理机交互的项目,业务易用性测试,破坏性测试,复杂的业务场景测试,兼容性测试等等使用手工测试比较合适。目前就想到这些了,希望大家多多发表建议。更好的结合这三种测试手段提高测试效率。
分享到:
相关推荐
WEBX是阿里巴巴的内部框架,“就是把页面与Service层之间的一些Servlet等公共的东西抽象出来,提供相应的服务以提高开发效率(《接口测试之Webx简介》—何晓峰 )”,可以看出,webx和传统的servlet-action模式的...
4. **数据库操作**:WebX 提供了强大的数据库操作接口,支持SQL语句的执行、事务管理和结果集映射,方便开发者进行数据访问。 5. **权限管理**:WebX 包含一套完整的权限控制机制,可以实现角色、菜单、操作的权限...
内容可能包括设置开发环境、创建项目结构、编写控制器、视图和模型,以及如何进行调试和测试。这对于初学者来说是一份很好的入门教程。 **8. 03_创建业务逻辑与数据库访问** 该文档可能深入探讨了如何在WEBX框架下...
Webx的核心是其Webx Framework,它主要负责初始化和响应Web请求。初始化包括设置Spring容器和日志系统,这为后续的请求处理提供了基础支持。Webx Framework能够增强request、response、session的功能,提供了...
Webx由三个主要层次构成:Webx基础框架层、Webx应用框架层和Webx框架扩展层,这些层次通过模块化设计来确保框架的灵活剪裁和定制。 Webx核心框架的设计理念着重于其初始化过程,包括初始化级联的Spring容器和初始化...
WebxFramework部分详细介绍了Webx框架的初始化流程,包括级联Spring容器的初始化和日志系统的初始化。Webx响应请求的过程非常独特,它增强了request、response和session的功能,并通过Pipeline流程机制来处理请求,...
每个组件都有自己的生命周期方法,如`init()`和`destroy()`,WebX会按照特定顺序调用这些方法进行初始化和清理。 此外,WebX还会注册Action和Service,这些是处理用户请求的核心部分。Action负责接收HTTP请求,而...
此外,Webx还支持国际化和本地化,可以轻松地处理多语言环境下的应用。 Webx框架还包含了对AJAX的支持,允许开发出更富交互性的Web应用。通过异步请求,用户可以在不刷新整个页面的情况下更新部分内容,提升了用户...
- **动态代理**:通过动态代理机制,Webx能自动处理请求和响应,减少手动编码的工作量。 - **强大的表单处理**:Webx提供了一套完整的表单验证和处理机制,支持自定义验证规则。 - **灵活的URL映射**:开发者可以...
WebX是一个组件化的MVC(Model-View-Controller)框架,它提供了丰富的功能,如数据持久化、事务管理、权限控制等。它的设计目标是简化Web开发,提高开发效率,同时保证系统的稳定性和可扩展性。 2. **安装与配置*...
#### 六、Webx3.0的初始化和执行流程 - **初始化**:Webx3.0的初始化主要由`WebxContextLoaderListener`完成,它负责加载配置文件,并初始化日志系统。 - **执行流程**:请求处理过程通过Pipeline来管理,包括URI...
- **如何遍历资源**:此外,还提供了一套工具用于遍历指定目录下的所有资源,这对于自动化构建和部署流程非常有用。 - **有什么问题**:尽管资源加载功能强大,但在实际应用中仍然可能遇到一些问题,比如资源冲突等...
Webx 是阿里巴巴开发的一款基于 Java 的开源 Web 应用框架,它结合了 Spring 和 iBatis 等其他优秀框架,提供了快速开发、易于维护的特点。通过配置 `web.xml` 和 `services.xml` 文件,我们可以轻松地搭建起一个...
总的来说,阿里巴巴的Webx框架是一个强大且灵活的J2EE开发工具,它的模块化设计、Car组件化打包、URL管理和MVC架构,都极大地提升了开发效率和应用质量。对于大型企业或复杂项目的开发团队来说,Webx是一个值得考虑...
webx3.0学习小结
总的来说,"webx-springExt整合eclipse插件"为Webx-SpringExt开发者提供了集成的开发环境,通过Eclipse的插件化机制,提升了开发的便利性和效率,使得开发者可以更专注于业务逻辑的实现,而非工具链的配置和维护。...
虽然描述信息为空,但我们可以从“博文链接”中推测,该文档可能包含了一篇关于Webx框架的博主个人经验总结,可能涉及了Webx的实际应用案例、源码解析和使用技巧。通过阅读博主的文章,读者可以了解到Webx在实际项目...