软件测试空间发展前景广阔,大大小小的软件验收期都要反反复复进行各种功能测试.
对于功能本身的各种测试,相信对于任何一名测试工程师而言都不会陌生,在测试的过程中,都做过什么样的测试呢?经常听到测试人员说,这个要进行功能测试,这个是进行性能测试,这个要进行兼容性测试等,到底有哪些测试类型呢?
软件的非功能测试
非功能测试思考总结
功能测试,想必对各位测试人员来讲,都不会陌生,功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能,是测试人员进行最多的测试,就不多说了。那么与之相对的是非功能测试,什么是非功能测试呢?非功能功能包含哪些内容呢?
功能测试之外,还有哪些测试呢?
查找了一些资料,非功能测试包括性能测试、兼容性测试、安全测试、等等,那如何分析我们的被测软件需要进行哪些测试呢?如何思考呢?
下面来说说个人的一些思考尝试,希望对你们有用:
首先软件的载体来思考,软件是安装在电脑(手机)上的,从载体着手考虑:
1.软件在机器上运行,需要占用机器的资源,如果占用的资源太多或长期占用不释放,会导致机器的性能越来越差,甚至使机器卡死,那么就需要考虑性能测试,包括软件占用的GDI、内存、句柄,还要考虑cpu的使用情况,因此得出结论,需要考虑性能测试。
2.一台机器上通常不会只安装一个软件,而是会安装很多的软件,那这些软件与当前测试的软件是否有影响关系呢?是否会影响被测软件的使用呢?OK,这时需要考虑兼容性测试。
3.随着各种电脑病毒、木马的出现,机器上通常会安装杀毒软件,被测软件在运行时是否会被杀毒软件报毒或提示呢?是否会被识别为异常呢?结论又出来了,需要进行冲突测试。
4.被测软件安装在机器上,一般私人的机器,在登录时都是需要账号密码的,被测软件是否存在可以绕过输入账号密码这种不安全的途径呢?基于安全性考虑,需要进行安全性测试。
以此出发,思考当前的被测软件需要哪些测试。
然后从软件本身出发,来看看有哪些需要考虑的内容。
1.软件是否需要联网服务器呢?如果需要,服务器的承载能力就是需要考虑的内容了。那么需要考虑对服务器进行压力测试。
2.软件是否有很多功能都需要与服务器交互,如果服务器出现问题,会影响软件的使用,那么需要考虑服务器的存活。
3.软件是否本身存在大量的数据呢?这些数据如果出错,对软件的影响有多大呢?因此需要考虑针对数据进行的数据评测。