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