自动化测试基础

1、什么是自动化测试

  以程序测试程序,以代码代替思维,以脚本的运行代替手工测试。自动化的测试涵盖了:功能(黑盒)自动化测试,功能(白盒)自动化测试,性能测试,压力测试,GUI(Graphical User Interface)测试,安全性测试等。

  2、自动化测试的优势

  回归测试更方便可靠 ;可运行更多,更繁琐的测试,且快速高效;可执行一些手工测试执行相当困难或者做不到的测试,如大量的用户并发;更好的利用资源,具有一致性和可重复性的特点,自动化测试脚本完全可复用;提升了软件的可信度;多环境下测试等。

  3、自动化测试无法做到的事以及劣势

  永远不可能完全替代手工测试,自动化测试无法做到手工测试的覆盖率,不是每个测试用例都适合做成自动化,如建议一个页面的布局是否正确。

  手工测试发现的缺陷远比自动化多。自动化测试是几乎无法发现新缺陷的,最大的用途是用来回归,确保曾经的bug没有在新的版本上重新出现。

  自动化测试工具是死的,它不具备任何想象力。自动化测试的好坏,完全取决于测试工程师。

  成本投入高,风险大。对测试人员的技术要求高,对测试工具同样有要求。

  4、合适引入自动化

  项目周期长,系统版本不断,并且需求不会频繁变更,此时是适合引入自动化测试的。

  系统的测试对象基本可以正常识别,以及对无法识别的控件能否提供一个解决方案。

  系统中不存在大量的第三方控件。

  需要反复测试,如可靠性测试需要进行上千次的系统测试

  5、不适合自动化

  项目周期短,需求频繁变更。即使是周期长的项目,如果经常需求变更,也不适合做自动化。

  软件版本还没有稳定的情况下,主功能或大量功能有被重新更改的可能话,也不适合做自动化。

  没有明确的项目测试自动化计划,措施和管理。

  多数对象无法识别,以及脚本维护频繁与艰难,二者有其一,自动化必定失败。

  6、自动化测试的流程

合理的自动化切入点:通常,项目只有经历了完整的系统测试之后才算具备了基本的引入测试自动化的条件。

  测试自动化分析:

  (1)可行性分析

  (2)抽样demo分析,demo一般选取冒烟测试用例,检查脚本是否能够成功运行通过,已设计的测试点是否全部执行

  (3)测试需求分析,分析哪些功能点准备进行自动化

  测试计划定制:自动化测试计划越全面,后期越能循规蹈矩的去实施,自动化测试的成功率越高

  自动化测试设计阶段:主要分为自动化测试框架和自动化测试用例。

  (1)自动化测试框架的设计,开发与搭建:应能保证测试的分布执行,脚本模块化,数据驱动,日志分析,错误截图,报表回收,共享对象库,公共函数库,环境配置,统一设计模式,异常处理,场景恢复的一个无人值守的,针对每个独立项目的测试框架

  (2)自动化测试用例设计三部曲:手工测试用例是从无到有,然后自动化测试用例是根据手工测试用例来写的。首先,筛选手工测试用例。然后转换手工测试用例,最后新增&补充自动化测试用例。

  为什么不能用手工测试用例完全替代自动化测试用例?

  自动化测试用例的范围往往是核心业务流程或者重复执行率高的,自动化测试的覆盖率不能达到手工测试的覆盖率。自动化测试的用例选择一般以正向为主,而反向的情况却有很多,但是并不是所有反向情况自动化测试都会涵盖,而是有筛选的选取一部分。也并不是所有的手工测试用例都可以用来做自动化的,如页面布局的检查。手工测试可以不需要回原点,但是自动化测试往往是必须的。自动化测试用例与手工测试用例不同,不需要每个步骤都写预期结果。

  测试脚本设计与开发:

  测试脚本大致可划分为五种,

  (1)线性脚本:通过录制直接产生的线性可执行的脚本

  (2)结构化脚本:具有顺序,循环,分支等结构的脚本

  (3)可共享脚本:可以被多个测试用例使用,被其他脚本调用的脚本

  (4)数据驱动脚本:测试数据跟业务流程控制分离的脚本,通过读入数据文件来驱动流程进行的脚本

  (5)关键字驱动脚本:脚本,数据,业务分离,数据和关键字在不同的数据表中,通过关键字来驱动测试业务逻辑。关键字驱动的特点是,它更像是描述一个测试用例在做什么,而不是如何做。

  自动化测试执行:

  (1)无人值守的测试:环境搭建,部署与配置;自动化测试用例与测试脚本相互绑定;自动化测试用例执行顺序排列与组合

  (2)异常处理与场景恢复

  提交自动化测试产物:大致需要提交执行情况,测试结果,分析报表,测试报告,质量情况等。

  测试脚本维护:严格来讲,每个阶段都在做测试脚本维护。一个不值得维护的自动化测试项目是不值得立项的。

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-20 19:11:42

自动化测试基础的相关文章

《Selenium自动化测试指南》—第1章1.1节自动化测试基础

1.1 自动化测试基础 Selenium自动化测试指南1.1.1 软件测试概述 即使是经验非常丰富的程序员,在编写代码时也很容易出现错误,这些错误也许是由于需求不明确,也许是由于设计问题,也许是编码中出现了失误等.但无论是怎样的错误,若不及时处理,都会降低软件的可靠性,严重时甚至会导致整个软件的失败. 为了排除这些错误,人们引入了软件测试的概念.通俗地说,软件测试就是为了发现程序中的错误而分析或执行程序的过程. 据研究机构统计分析表明,国外软件开发机构40%的工作量都花在软件测试上,软件测试费用

第一章 Slenium2-Java 自动化测试基础

      都是一些最基础的知识点. 一:软件测试分类 1)单元测试:单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码段进行测试的过程.2)集成测试:集成测试是在单元测试的基础上,先通过单元模块组装成系统或子系统,再进行测试.重点是检查模块之间的接口是否正确.3)系统测试:系统测试是针对整个产品系统进行的测试,验证系统是否满足需求规格的定义,以及软件系统的正确性和性能等是否满足其需求规格的要求. 4)验收测试:验收测试是部署软件之前的最后一个测试阶段.验收测试的目的是确保软件准备

腾讯Android自动化测试实战

腾讯Android自动化测试实战 丁如敏 盛娟 等著 图书在版编目(CIP)数据 腾讯Android自动化测试实战 / 丁如敏等著. -北京:机械工业出版社,2016.10 ISBN 978-7-111-54875-1 Ⅰ. 腾-   Ⅱ. 丁-   Ⅲ. 移动终端-应用程序–程序设计   Ⅳ. TN929.53 中国版本图书馆CIP数据核字(2016)第223713号 腾讯Android自动化测试实战 出版发行:机械工业出版社(北京市西城区百万庄大街22号 邮政编码:100037) 责任编辑:

多台服务器负载均衡的压力测试要怎么做

问题描述 多台服务器做loadbalance,压力测试要怎么测,生产环境服务器是在阿里云上的,假如有10台那做压测要在自己测试环境上搞10台机子来负载测吗?要不怎么模拟真实情况 解决方案 解决方案二:好象有软件可模拟测试哦~!解决方案三:看你的疑问应该是不打算拿10台机器出来了负载均衡是算法上的问题,按常规软件测试的方式来.所以如果负载没问题,那理论上压力测试只要测单个服务就行了有现成软件的解决方案四:引用2楼shingoscar的回复: 看你的疑问应该是不打算拿10台机器出来了负载均衡是算法上

初学软件测试看什么书?

测试基础: 1.软件测试 作者: (美)Ron Patton 译者:周予滨 姚静 等 机械工业出版社 2. 软件测试方法和技术 朱少民 清华大学出版社 3. 计算机软件测试(美)Cem Kaner,Jack Falk,Hung QuocNguyen 译者王峰 机工出版社 4. 软件测试技术概论 古乐 史九林 清华大学出版社 5. 计算机软件测试技术 郑人杰 编著 清华大学出版社 自动化测试基础: 软件测试自动化 作者:Daniel J.Mosley, Bruce A.Posey/著 软件测试自动

《精通QTP——自动化测试技术领航》—第1章1.5节QTP精华—对象库(上)之基础攻略篇

1.5 QTP精华-对象库(上)之基础攻略篇 精通QTP--自动化测试技术领航 阶段要点 初步了解QTP中的测试对象模型. 明确Object Identification是管理对象模型的长官. 掌握智能识别原理.机制和各项设置. 对象库基本操作之添加.更新.对象闪烁.副对象库(Associate Repositorys). 一个有趣的实验证明,做项目时手工添加对象的好处与效率. Export Local Objects与Export and Replace Local Objects. 掌握并熟

Appium移动自动化测试(四)--one demo

继续更新. --------------------------------------------   第四节  安装Appium Client   Appium Client是对webdriver原生api的一些扩展和封装.它可以帮助我们更容易的写出用例,写出更好懂的用例. Appium Client是配合原生的webdriver来使用的,因此二者必须配合使用缺一不可. 在本文档的开始已经介绍Appium支持多种编程语言编写自动化测试脚本,由于我个人熟悉Python语言,所以选择Python

用Visual Basic 6.0实现自动化测试

visual 摘要:本文探讨了Visual Basic 6.0在测试自动化中应用的可能性,并列举了一些在实际工作中应用的例子 一 现有自动化测试工具的不足 当前,一个摆在软件测试自动化面前的一个很明显的事实是目前可用的工具并不能做一切我们想要它们做的事情:指望任何一种工具能够完全支持众多不同应用的测试自动化是不现实的.由于很难找到一个能完全满足测试自动化需要的测试工具,而且测试自动化工具都十分昂贵,所以常用的做法是使用一种主要的自动化测试工具,然后用传统的编程语言如Java, C++ 和 Vis

Appium移动自动化测试(一) 安装Appium

web自动化测试的路线是这样的:编程语言基础--->测试框架--->webdriver API--->开发自动化测试项目. 移动自动化的测试的路线要长一些:编程语言基础--->测试框架--->android/IOS开发测试基础---->appium API ----->开发移动自动化项目. ===================== Appium测试环境的搭建相对比较繁琐,相信不少出学者都没开始学习就已经死在了环境搭建上.所以,我首先会分篇的介绍环境搭建的全过程.