定义:是否满足用户的显性或隐性需求
软件测试的常见测试方法:
按照测试设计方法分类:
黑盒测试:将软件系统当做一个“黑盒”,无法了解或使用系统的内部结构知识,从软件的行为而不是内部结构出发来进行测试。
白盒测试:设计者可以看到软件系统的内部结构,并使用软件的内部知识来指导测试数据及方法选择。
按照手动自动分类:
可分为手动和自动
按照测试的目的分类:
功能测试:
单元测试:最低的功能上验证程序的准确性,(比如测试一个函数的正确性(一般是由开发人员所做))
功能测试:验证某一个模块的功能
集成测试:验证几个有相互依赖关系的模块的功能
(方法:自上而下、自下而上、自上而下和自下而上)
场景测试:验证几个模块是否能够完成一个用户场景
系统测试:验证某一个系统是否能够解决某个用户问题。
非功能测试:
压力测试:软件在超过设计负载的情况下还能不能返回正确的结果,不导致崩溃。
负载测试:软件在负载的情况下能否正常工作
性能测试:软件的功能能否满足用户的需求
配置测试:软件是否在各种配置下都能工作
安全测试:软件的安全性。
专业术语:
冒烟测试:检测软件版本中的主要功能是否实现,一般时间比较快,一到两个小时内可以实现。(该说法可能来自于硬件的测试,当硬件组装完成上电后,如果冒烟故障则不需要再继续进行更深入的测试。)
回归测试:为了保证修改或者增加功能后没有给软件带来其他未改变的部分带来影响,测试工程师每次测试时都需要对测试过的模块进行测试,这种测试称为回归测试。
自动化测试框架:
QTP(quick test professional):侧重于功能的回归自动化测试工具,主要用于回归测试和测试同一软件的新版本。
功能测试框架robot