本人博客文章网址:https://www.peretang.com/basic-knowledge-of-software-testing/
软件测试的目的
1. 确认软件的质量
a. 是确认软件做了你所期望做的事情(Do the right thing)
b. 是确认软件以正确的方式来做了这个事情(Do it right)
2. 是提供信息
比如提供给开发人员或程序经理的回馈信息,为风险评估所准备的信息
3. 是在测试软件软件产品本身,而且还包括软件开发的过程。
如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此,软件测试的第三个目的是保证整个软件开发过程是高质量的。
软件测试的五种类型
1. 单元测试
2. 集成测试
3. 功能测试
4. 压力和负荷测试
5. 验收测试
软件测试策略和要求
1. 开发
a. 测试覆盖率
b. 编写可测试的代码
● 公共API是协议
● 减少依赖关系
● 减少依赖关系
● 简单的构造函数
● 遵循最少知识原则
● 避免隐藏的依赖关系和全局状态
● 避免使用静态方法
● 组合优于继承
● 多态优于条件语句
● 减少依赖关系
● 减少依赖关系
● 简单的构造函数
● 遵循最少知识原则
● 避免隐藏的依赖关系和全局状态
● 避免使用静态方法
● 组合优于继承
● 多态优于条件语句
c. 测试驱动开发(TDD) 测试–>编码–>重构–>(重复)–>提交
2. 测试
a. stub机制 粗粒度测试
b. mocks 细粒度测试
c. 容器内测试 完整性测试
b. mocks 细粒度测试
c. 容器内测试 完整性测试