测试开篇
- 最近在学习测试相关知识,抽空把笔记做个总结,希望自己在学习总结的道路上能够坚持下去。
目标展望
测试大致分类
- 嵌入式系统测试
- 金融平台单元测试
- 平台SDK测试
- 轨道交通安全软件测试
- web service测试
- 大型电商GUI自动化
- 性能全链路压测
技术发展
- 自动化测试用例设计与开发
- 测试框架选型
- 测试框架自行研发
- 测试基础架构设计
- 测试服务化(TaaS Test as a Service)
能力要求
- 知识面
- 测试设计能力
- 测试开发能力
- 测试平台抽象化能力
自我要求
- 不仅需要从业务出发对软件进行手工测试验证,还需要掌握完整的自动化测试开发技术来设计自动化测试用例
- 自动化测试为主
- 必须掌握实际开发测试基础架构的关键技术
- 项目周期太短,留给测试的时间有限,需要完善的高并发测试基础架构支持
- 必须系统性思考如何将测试数据的准备工具化、服务化、最终实现平台化
- 早期的测试数据准备的时间成本、稳定性、创建的便利性已经很难石应大规模自动化测试要求
进击道路
1,成为合格的测试工程师
- 快速学习能力
- 迅速掌握被测软件的业务功能和内部架构
- 在以上基础上运用各种测试方法,尽可能多的发现潜在缺陷,进一步发现连带缺陷
- 知识要求:计算机基础知识,基础架构,安全攻击,软件性能,用户体验,常见缺陷
- 技术要求:使用常见的测试框架和工具,具有一定的自动化测试脚本开发能力
2,成为优秀的测试工程师
- 关注更多软件整体的质量
- 根据业务风险指定测试策略
- 有效控制测试的时间和成本
- 能够对测试框架及工具做出适合项目需求的选型
- 熟练使用各类测试工具,清除背后实现原理,同类测试工具的优缺点和使用场景
- 能够通过二次开发解决工具和框架层面的问题,对于某些场景自行设计开发小工具展开测试工作
- 具备开发知识,理解代码级测试技术
- 由实现自动化脚本变为降低维护成本、使得自动化脚本灵活组装
- 理解自动化脚本分层设计、页面对象模型以及业务流程模型,并且能应用到测试框架中
3,成为测试架构师
- 面对大量测试用例执行,需要高效的支持高并发的测试执行基础架构
- 面对大量的差异性数据要求,需要统一的测试数据准备平台
- 为了更方便和持续集成与发布系统(CI/CD)以解耦形式做集成,需要统一发起测试执行接口
- 对前沿测试方法和技术由自己的理解,适当的运用到自己项目中
基础能力
测试用例
什么才算是好的测试用例
- 是一个完备的集合,覆盖所有的等价类以及各种边界值,与是否能够发现缺陷没有关系
- 具备三个特征
- 1,整体完备性 是一个完备的整体,是有效用例组成的集合,能完全覆盖测试需求
- 2,等价类划分的准确性 每个等价类都能保证只要其中一个输入测试通过,其他输入也一定能通过
- 3,等价类集合的完备性 需要保证所有可能的边界值和边界条件都已经正确识别
设计测试用例方法
- 等价类划分法
- 边界值分析法
- 错误推测法
- 因果图法
- 判定表驱动分析法
- 正交实验设计法
- 功能图分析法
- 场景设计法
- 形式化方法
- 扩展有限状态机方法
- 主要是前三种