软件测试是在规定的条件下对程序进行操作,以发现错误,对软件质量进行评估。
软件测试的目的在于(1)发现软件的缺陷和错误(2)保证软件的质量,确保能够满足用户以及产品的需求。软件测试的目的是为了找bug,并不是验证软件没有bug。
白盒测试用例设计常用方法:
1、静态测试:不运行程序的测试,如文档测试、代码检查等。
2、动态测试:需要执行代码,接口测试、覆盖率分析、性能分析、内存分析等。
3、逻辑覆盖法:主要包括语句覆盖,判断覆盖,条件覆盖,判断/条件覆盖,条件 组合覆盖,路径覆盖等。
黑盒测试用例设计常用方法:等价划分类,边界值分析,错误推测法、因果图法、场景法、正交试验设计法、判定表驱动分析法、功能图分析法等。
灰盒测试是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段。
软件测试方式:
按照软件的生命周期划分:单元测试、集成测试、系统测试、回归测试、验收测试。
按照测试关注点划分:功能测试、性能测试、稳定性测试、易用性测试、安全性测试。
按照测试实施者划分:开发方测试(α测试)、用户测试(β测试)、第三方测试。
按照技术/测试用例设计划分:白盒测试、黑盒测试、灰盒测试。
按照分析方法划分:静态测试、动态测试。
按照测试执行方式划分:手工测试、自动化测试。
按照测试对象划分:程序测试、文档测试。