51Testing软件测试论坛
标题:
自动化测试概念
[打印本页]
作者:
NewDreamTester
时间:
2017-11-8 14:28
标题:
自动化测试概念
本帖最后由 NewDreamTester 于 2017-11-8 14:30 编辑
自动化测试概念:
它以程序测试程序、以代码代替思维、以脚本的运行代替手工测试。
自动化测试的优势
回归测试更方便、可靠
可运行更多更繁琐的测试,且快速,高效
可执行一些对于手工测试来说相当困难或者根本做不到的测试
更好的利用资源,使资源的使用更有价值
具有一致性和可重复性的特点
手工测试与自动化测试比较
项目工期紧,要求做功能方面的测试,人多 那选择人工测试
客户要求增加新功能 或 程序员对bug修改,修改之后进行回归测试时,大量测试重复工作选择自动化测试
可测试重复的模块 最大价值就是进行回归和冒烟测试 节省时间和金钱
手工测试的缺点
1. 重复性。
2. 精确性。个人因素
3. 效率。软件产品的研发后期效率问题尤为明显。
手工测试的优点
手工测试不可替代的地方至少包括:
测试用例的设计。经验和猜测错误能力
界面和用户体验测试。
正确性的检查。人的思维和逻辑能力
自动化测试引入的时机
项目周期长,系统版本不断
需求变更不频繁
系统中的测试对象基本可以识别
系统中不存在大批量第三方控件
注:项目周期短、需求变更频繁、软件版本还不稳定、多数对象无法识别、脚本维护艰难等情况下不适应引入自动化测试
自动化流程:
系统测试完成(自动化测试的介入点)可行性分析 测试需求分析 制定测试计划 自动化测试设计 测试脚本开发 无人职守测试 提交测试报告 脚本维护阶段
如何设计合适的自动化测试方案:
项目的影响 自动化测试是否对项目的风险和进度有积极的影响
复杂度 应用起来是否简单,容易实现
时间 根据时间调方案 项目需要多少时间
代码的稳定性 客户的要求是否明确,代码不怎么变化
覆盖率 自动化测试能否覆盖一些关键的功能点
资源 测试组人员,硬件资源够不够
测试的执行 是否有足够的时间 技能去执行
测试脚本编写:
自动化测试的编码阶段主要是 通过编写测试脚本实现所设计的自动化测试用例。编写测试脚本的方法有以下几种。
2.1线性脚本
线性脚本的编写方法是使用简单的录制回放的方法。
它有可能包含某些多余的函数脚本。
非常低的开发成本
测试数据在脚本中是硬编码 不需要技 巧固定的输入(数据)
脚本很脆弱
没有公用的脚本 成本提高,重复劳动大量增加
2.2结构化脚本 相对比较稳定
结构化脚本的编写方法是在脚本中使用控制结构。典型的控制结构if for 等。
需要测试人员具有编程技巧
需要某种程度上的计划和设计
相对稳定
2.3 共享脚本 更高层次的设计和方法 比较稳定
共享脚本编写方法是把某些公共的、普遍的测试脚本独立出来,在其他脚本之间实行共享。
需要测试人员具有编程技巧
需要更高程度上的计划和设计
相对稳定
2.4数据驱动脚本
数据驱动脚本编写方法是把数据从脚本中分离出来,存储在外部的文件中。在测试时,针对不同的用例只需要进行数据的修改,而不需要修改脚本代码。
需要测试人员具有编程技巧
需要更高程度上的计划和设计
相对稳定
维护成本较低
2.5关键字驱动脚本 综合
关键字驱动脚本的编写方法是把测试数据和操作顺序都在外部文件中设计好。除了常规的脚本外,还需要额外的库来翻译数据。
综合了以上各种脚本编写方法
需要测试人员具有编程技巧
需要更高程度上的计划和设计
维护成本较低
自动化测试过程中应用存在的问题:
测试用例的选择。并不是所有的用例都适合做自动化测试要选择合适的用例
脚本的命名规范、注释规范。
对公用数据的维护。涉及的测试数据在不同测试人员都要使用时,需要制定自定义的修改记录规范
3测试过程中人的因素
注意时间管理。选择合适的测试脚本编写方法,正确的评估时间要求。
和开发人员沟通 需要考虑可测性 (新技能,无法实现测试)需开发人员
软件源代码管理。程序员对代码修改,不告知测试人员,则大部分脚本测试都需修改或作废
常用的自动化测试工具
QTP(VBS脚本) selenium(python/java)
作者:
梦想家
时间:
2017-11-8 15:49
作者:
Real_小T
时间:
2017-11-8 16:07
作者:
jingzizx
时间:
2017-11-15 20:30
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2