概述
软件测试用例设计最重要的前提是掌握业务知识,加上一定的测试用例设计方法,软件测试的工作实际就非常简单了,多测试几个实际项目技能就自然提高了。
我把软件测试用例设计分成4个部分:
- 测试类型
- 设计思路
- 设计技术
- 去芜存菁
测试类型
测试类型有很多分类方法,为了编写文档方便,可以把各种分类方法合并,做为用例文档的目录。
明确测试类型可以避免重大漏测。
- 文档测试:需求,设计,用户手册...
- 界面测试:CLI, WEB, GUI, API
- 协议一致性测试:与标准一致。
- 功能测试:以需求文档、命令/界面显示功能、用户手册为编写线索。
- 性能测试:容量、时间、吞吐量、连接数等结果,含压力测试,负载测试。
- 组网测试:一些复杂网络协议适用。
- 集成测试:多个模块或者整个系统叠加测试,测试各个功能之间的接口是否正常,是否相互影响。
- 兼容测试:不同厂家产品,相关产品、不同版本协同工作。
- 事件测试:修改配置,重启,断电等。
- 安全测试:攻击,各种异常,非法测试
- 稳定性测试:模拟线上环境,长期运行。
- 可靠性测试:成熟,容错,易恢复。
- 易用性测试:软件产品被理解、学习、使用和吸引用户的能力。
- 可维护性测试:易分析,易修改,易测试,易管理。
- 可移植性测试:从一种环境迁移到另一种环境。
设计思路
发散思维和逆向思维是测试设计中最重要的两个思维。
具体运用参考:XXXX
设计技术
在上一步骤执行时或者执行后,都可以运行常见的设计技术:
- 等价类划分
- 边界值
- 错误推测
- 因果图
....
去芜存菁
足够好就行,精减用例,划分优先级。
- 哪些功能是软件的特色?
- 哪些功能是用户最常用的?
- 如果系统可以分块卖的话,哪些功能块在销售时最昂贵?
- 哪些功能出错将导致用户不满或索赔?
- 哪些程序是最复杂、最容易出错的?
- 哪些程序是相对独立,应当提前测试的?
- 哪些程序最容易扩散错误?
- 哪些程序是全系统的性能瓶颈所在?
- 哪些程序是开发者最没有信心的?
Labels: