测试基础之自动化测试

1,基本概念
利用软件测试工具自动实现全部或部分测试。

2, 自动测试的好处
它能完成许多手工测试无法实现或难以实现的测试
正确、合理的实施自动测试,能够快速、全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件发布周期

改进所有的测试领域
      测试用例设计改进
    性能测试改进
    压力测试改进
    质量度量与测试优化
    ……

    改进测试工作质量
    BVT测试改进
    回归测试改进
    多平台兼容性测试改进
    软件配置测试改进
    普通测试执行改进
    集中于高级测试问题改进
    执行手工测试无法完成的测试
    定时启动测试

减轻测试工作量并加快测试进度
      除了测试计划的工作量增加,测试设计,测试执行,测试结果分析,缺陷监控,测试报告生成包括总体工作量均减小。

3,适应领域
    执行回归测试
    执行手工很难达到或手工无法完成的测试
    枯燥乏味的重复性工作
    一致的,可重复的测试

4,常见错误
    实施一项测试设计时,不遵循任何设计标准,结果产生了不可重复的测试脚本,因而不可重用
    试图将测试需求100%自动化
    使用错误的工具
    在应用程序开发周期中启用测试工具太晚,
    测试工程师参与应用开发生存周期太晚,导致不能很好的了解应用和系统设计,因而无法完成测试

5,引入自动测试过程
自动测试决定
测试工具采购
自动测试引入
测试计划、设计与开发
自动测试执行与管理
过程评估与改进

6,自动测试的局限性
发现缺陷少
维护成本高
可能会制约软件开发
没有创造力,不能灵活处理意外事件

7,以下几种情况不适宜进行自动测试
测试运行频率比较低
软件更改比较频繁
测试中涉及物理交互的测试
测试结果很容易通过人员验证,而对于自动测试来说又比较难以实现

8,自动测试的典型应用
使用QALoad工具达到不同测试目的
    调用多个客户端执行不同的脚本,测试服务程序在执行多种交易情况下的性能指标和处理能力
    模拟多个客户端并发执行一个特定的脚本,测试服务程序在多个并发交易情况下的性能指标
    模拟真实使用情况,预估应用投入使用后的性能情况
    大强度、持续性的运行测试脚本,对应用产生持续性的压力,可以发现应用中是否存在性能瓶颈,同时可以检查应用是否存在内存泄漏问题

通过API编程实现自动测试
    通过编程API,建立测试框架,在测试代码中调用这个框架,验证给定输入会得到预期的结果
    主要有JUnit、HttpUnit、各种单元测试工具
    大多数情况下大大减少了测试代码的维护时间,并且使应用中的复杂功能测试成为可能

白盒测试
    源代码审查
    运行期错误检测
    内存分析
    性能分析
    代码覆盖分析

你可能感兴趣的:(测试基础之自动化测试)