软件测试方法

搜索wiki百科和百度百科,发现他们对测试方法的解释相差非常大。结合其他文章,在此总结一下大家经常听到的测试方法。

按照测试设计分类

名称内容
Black box黑盒测试把软件系统当作一个“黑箱”,无法了解或使用系统的内部结构及知识。从软件的行为,而不是内部结构出发来设计测试。
White box白盒测试设计者可以看到软件系统的内部结构,并且使用软件的内部知识来指导测试数据及方法的选择。
Gray box灰盒测试介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。

按照是否需要测试人员操作分类

名称内容
手动测试人工测试,比如页面操作的测试
自动测试测试人员编写脚本/代码/工具代替人工,来完成相应测试工作
半自动测试代码或脚本,与人工结合的测试

按照测试目的分类

名称内容
功能测试测试软件产品的功能是否能达到预期
接口测试测试系统组件间接口的一种测试
性能测试通常验证软件的性能在正常环境和系统条件下重复使用是否还能满足性能指标
安全测试测试系统在防止非授权的内部或外部用户的访问或故意破坏等情况时怎么样
兼容测试测试软件在一个特定的硬件/软件/操作系统/网络等环境下的能否正常运作。向上兼容向下兼容,软件兼容硬件兼容,标准和规范、数据共享兼容

性能测试分类

名称内容
压力测试评估应用程序在峰值负载和正常情况下的行为。
负载测试负载测试的目的是通过不断地、稳定地增加系统的负载来测试系统,直到达到阈值。它是性能测试的一个子集

按照是否执行程序分类

名称内容
静态测试不运行被测程序本身,仅通过分析或检查源程序的文法、结构、过程、接口等来检查程序的正确性。也包括测试文档。
动态测试通过运行软件来检验软件的动态行为和运行结果的正确性。