• 自动化测试的那些事儿


    什么是自动化?
    编写软件去测试其他软件
    编写驱动被测试应用程序的测试脚本以执行键盘、鼠标动作和后台进程并验证应用程序响应和行为。
     
    手工测试的局限性
    无法做到覆盖所有代码路径
     机械、重复,工作量大 
    许多与时序、死锁、资源冲突、多线程等有关的错误,通过手工测试很难捕捉到 
    进行负载、性能测试,很难通过手工测试模拟大量数据或大量并发用户 
    可靠性测试时,常需要模拟系统运行10年、几十年,以验证稳定性,这也是手工测试无法做到的 
    如果有大量(几千)的测试用例,需要在短时间内(1天)完成,手工测试几乎不可能做到 
     
    为什么要做自动化?
    1、减少手工测试中的重复性工作,提高测试人员的工作成就感和幸福感
    2、提高测试用例的执行效率,实现快速的自动化回归测试,快速的给予开发团队质量反馈
    3、减少测试人员的数量,提高开发和测试的比例,节省企业的人力成本
    4、在线产品的运行状态监控
    5、插入大量的测试数据
    6、发现更多的BUG
     
    是否合适做自动化?
    时间(功能测试都做不完)
    人员(初级的测试工程师)
    系统(页面元素经常变,需求经常变不适合做,意义不大)
    领导(领导推荐不推荐)
     
    什么情况下做自动化?
    自动化测试不可能完全代替手工测试 在功能逻辑测试、适用性测试、涉及物理交互性测试时,多采用黑盒测试的手工测试方法 
    单元测试、集成测试、负载测试、性能测试、稳定性测试、可靠性测试等较适合自动化 
     
    什么样的项目需要做自动化?
    需求变更慢
    周期长
    脚本可重复利用
    产品型项目:每个项目只改进少量的功能,但每个项目必须反反复复的测试那些没有改动过的功能
    (结合公司的状况,迭代周期太短,时间不够,除非有专人做,写脚本费时)
    解析:如果说你花一个月开发自动化系统,但脚本只针对这个系统,如果下一个系统做自动化,脚本又要重新写,成本就会较高,重复利用率较低
     
    关于接口自动化测试
    接口测试分单接口测试和联合接口测试
    单接口测试关注以下信息:
    1、响应状态  
    2、响应时间  
    3、请求数据格式:协议、编码、字段  
    4、响应数据格式:编码、字段
     
    联合接口测试关注多个接口组合特定业务场景测试;
     
    在打算实施接口自动化后,需要解决如下几个问题
    1、接口自动化要测试哪些接口,我们要怎么测试这些接口,每个接口需要分别覆盖什么?
    2、工欲善其事必先利其器,接口自动化测试如何选型工具?很多工具都具有接口测试功能,如何挑选工具
    3、如何做到持续集成?
      
     
    最后想问下:大家觉得UI自动化测试和接口测试哪一个更加重要?哪一个更易于维护?
  • 相关阅读:
    restful接口设计规范总结
    SSM框架中,配置数据库连接的问题
    Java通过mysql-connector-java-8.0.11连接MySQL Server 8.0遇到的几个问题
    浅谈Spring的PropertyPlaceholderConfigurer
    过滤器与拦截器的区别
    SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
    SpringMVC中使用Interceptor拦截器
    mybatis中模糊查询的使用以及一些细节问题的注意事项
    mybatis generator(MyBatis的逆向工程)
    mybatis-generator生成逆向工程两种方式
  • 原文地址:https://www.cnblogs.com/wysk/p/6909748.html
Copyright © 2020-2023  润新知