软件测试简介及分类

来源:互联网 发布:手机淘宝如何修改密码 编辑:程序博客网 时间:2024/05/16 12:03

什么叫软件测试?

软件测试简单的来讲就是验证软件产品功能的正确性,发现问题或者提出改进建议


软件测试难在哪里?

(1)我们无法正面验证软件的正确性,只能通过反面验证它没有问题.

(2)反面的验证是没有个界限的,我们无法穷举,在有限的人力和时间约束内只能选择一部分去测试.

(3)很多问题只有在一些特殊组合下才能发现,我们开发写代码可能异常处理流程的代码会远远多于正常功能的代码.

(4)测试的难点主要不是功能性测试,而是非功能性测试,比如性能测试,安全性测试,可靠性测试等.另外就是怎么通过自动化测试减少手工测试工作量.


软件测试的类型

按不同的维度软件测试可以分很多种类型.
比如按是否需要知道底层代码实现一般分为白盒测试与黑盒测试

白盒测试

一般是直接针对代码去进行测试,主要是开发人员自己去测.
比如用JUnit对Java进行单元测试,用CppUnit对C++进行单元测试.
或者就直接看代码找出问题,这也叫静态测试.


黑盒测试

黑盒测试就是不需要去了解软件里面的实现,只需要针对接口去进行测试.

功能测试
这也是最常见的测试方式,主要偏重验证软件功能的正常流程.另外一些GUI类的软件产品还经常会用些自动化测试工具,比如QTP,Selenium之类的

性能测试
一些支持海量用户的软件系统对性能要求比较高,会进行方面的测试.比如会用到JMeter、LoadRunner之类的工具

安全性测试
一些安全性要求高的产品,比如通信产品,支付类的系统往往需要进行安全方面的测试.比如会用Skipfish,X-Scan之类的工具

可靠性测试
像银行,金融系统这种需要长久运行,对稳定性要求非常高的系统.往往需要验证它在一些特殊场景,比如各种异常故障场景,大压力场景下的稳定性,可靠性



软件测试现状




0 0
原创粉丝点击