之前从老张那里拿了本书来看,这本书对于刚入行的测试新人还是挺不错的,因为能构建一套比较健全的知识体系,再不济也能开拓一下眼界。最近公司开始做api自动化测试,我需要参与,看看这方面的知识。以下是一些看书的笔记,仅作记录。
一、自动化测试主要应用在以下场景:
1.冒烟测试:冒烟测试(SmokeTest)是在新版本的软件上执行关键性的测试用例,保证新的程序代码不出故障,通过冒烟测试之后,可以继续执行更多其他种类的测试。
2.回归测试:回归测试(Regression Test)主要是验证新发布的功能或修复的Bug有没有对现有的系统功能造成影响。
3.兼容性测试:兼容性测试(Compatibility Test)主要是验证被测试系统在不同的硬件平台、不同的操作系统、不同的应用软件之间和不同的网络等环境中是否能够正常的运行。常规的兼容性测试可以分为浏览器兼容测试、操作系统兼容性测试和移动设备的兼容性。
二、自动化测试流程:
1.可行性分析:项目周期一般在三个月以上、页面元素比较好定位、需求变更不频繁;
2.测试需求分析:熟悉被测系统的业务流程,分析测试需求;
3.制定测试计划:
资源:包含自动化实施人员,业务支持人员和业务系统相关文档;
测试范围:自动化测试用例需要覆盖的范围;(基础功能的业务、重要业务场景、频次使用比较的业务场景等视情况排定优先级)
测试工具的选择:根据被测系统的特点,选择测试工具;
测试进度:各个时间段需要完成的任务状态;
交付物:每个阶段完成后,有哪些交付物(产出);
4.测试设计:设计自动化测试框架时,需要考虑到脚本的复用性,以及秉承数据、业务和脚本分离的宗旨。
5.测试脚本开发联调:
可复用性:一个功能写成一个模块;(封装)
健壮性:处理异常的能力,再出现异常情况下能够独立处理异常,保证脚本顺利运行;
稳定性:脚本在运行过程汇总,尽可能不出现异常、错误、中断等问题;
模块化:一个复杂的模块分解成相互独立的小模块;(解耦)
跨平台性:测试脚本应该兼任不同的平台和浏览器,尽量保证测试脚本不受平台的变更影响;
6.运行:简单的来说,出问题就解决问题,遇山开山,遇水架桥。
7.提交阶段性测试报告:主要包含运行环境、覆盖用例数、失败用例数、成功率、执行时间、失败原因和执行人员等指标。
8.持续维护:略
三、api自动化测试
1.接口测试类型:
Restful架构
Socket
Web Service
2.接口测试工具:了解被测系统的接口所采用的协议,选择合适的工具进行测试。或者根据接口的协议开发测试工具。
3.Mock测试:软件的实现是充满依赖关系的,对于某些不容易构造或者不容易获取的对象,创建一个虚拟的对象进行测试的方法称为Mock测试。
四、持续集成(Jenkins)
开发和自动化测试工程师完成本地计算机代码构建后把代码提交到代码库SVN/Git中,持续集成平台获取测试脚本,完成脚本的编译,执行自动化单元测试,通过工具完成代码静态扫描,将代码打包后部署到不同的测试环境,根据定时任务进行自动化集成测试,执行完自动化测试后,生成测试报告,通过邮件发送测试结果给测试人员和开发人员,这就是整个持续集成的过程。
即,代码提交-->平台获取脚本-->脚本编译执行-->代码扫描-->脚本部署-->集成测试执行-->生成测试报告-->邮件通知。