对于产品来说,一个好的软件测试不应该是产品研发末端的活动,而应该是“端到端”的,在产品研发的开始阶段,测试就应该投入到需求分析之中,测试需求分析不进能够帮助测试人员更好的认识产品,准备测试,反过来还能帮助开发确认需求,确认产品在非功能属性方面的设计。进行测试需求分析,能够更好的服务于产品,帮助团队产出一个高质量的产品。
对于测试人员来说,测试需求分析是一个不断提问题的过程,
对于测试人员来说,一个测试需求分析的过程,就是一个不断提问题的过程,通过不断的提问题我们更加了解需求,由于一些原因,可能有些需求描述或者设计文档并不清晰,这时候就需要我们通过不断的去问问题,让测试人员更完整、更准确的理解产品;只有我们更加透彻的理解了产品,才能更好的测试这个产品。
简单来说,测试需求分析就是从产品需求和设计文档种挖掘出我们需要的测试需求
测试需求的分析对象当我们着手要开始做测试需求分析的时候,总要有东西供我们分析吧,这就是测试需求的分析对象;那测试需求分析的对象是什么呢?简单来说可以分为以下几点吧:
PRD,PRD就是产品的需求文档,由产品经理输出,这是必不可少的一个文档,里面描述的是所有的产品需求,团队的一切工作都是围绕这个文档展开的。 技术文档,技术文档有很多,名称叫法也各不相同,我们统称为技术文档,顾名思义这个文档是由开发同学输出的,里面详尽的描述了产品的架构设计,技术实现逻辑等,是团队理解产品实现逻辑必不可少的文档。 交互设计,交互设计由交互设计师输出,当研发阶段我们的产品并没有出来时,交互设计是我们直观理解产品的重要文档。 会议既要,在产品设计研发过程中,我们可能开了大大小小很多个会,讨论了很多细节,所以会议既要也是很重要的资料。 与人沟通,与人沟通是门艺术,测试需求分析也是个不断提问题的过程,当我们所有的问题都知道答案时,我们也对产品理解透彻了,所以在沟通过程中,我们要更加耐心,更加谦虚,设身处地的站在对方的立场想一下,当然内心也要更加坚强,不是每个人都一副热心肠的。 测试需求分析工具工具的出现标志着人类从原始社会进入到了农耕文明,发展到今天,工具也成为了我们日常生活和工作过程中必不可少的东西, 俗话说工欲善其事必先利其器,我们在测试需求分析过程中有什么比较拿手的工具呢? 推荐以下几款:
Excel,excel我们比较熟悉了,是微软出品的一个表格工具 Xmind,XMind 是一款非常实用的商业思维导图软件, 在我们思考过程中,可以很好的帮助我们将脑袋中的想法可视化,可以很好的帮我们理清想法和思路,更好的提升创造力。个人比较推荐这个,也是我一直在用的工具。 Viso, Viso是微软开发的一款绘图软件,此工具可以很好的画出业务逻辑,帮助我们理清思路,更好的进行产品分析,在上家公司时,一直用这个工具。可是如何进行测试需求分析呢? 可以从下面几个方面入手:
功能
功能就是指的产品的功能,是我们测试过程中最重要的部分,我们可以从产品需求、开发需求等文档出发,把功能拆分成功能模块,然后每个功能模块提炼出测试点。了解每个功能模块要实现的业务逻辑,然后熟练运用各种测试用例设计方法,保证功能的测试完整性。
压力
压力分为前端的压力和后端的压力,要对主要功能点或者全部功能进行压力测试。前端模拟用户点击,类似的工具很多,比如monkey; 后端压力测试主要是对接口的压力测试,类似工具有jmeter/loadrunner等。
性能
有些人会把压力和性能混在一起,觉得进行了压力测试就是进行了性能测试,其实这是两个完全不同的关注点,压力测试的关注点是承受多少压力,性能测试的关注点是性能;性能测试也分为前端和后端两个方面考虑;前端主要关注前端设备的CPU、内存、耗电量、流量的使用情况,后端的性能测试点主要关注服务器的响应时间、TPS、服务器CPU、内存、磁盘读写速度、网卡性能等。一般这些数据在前期系统设计时会有这方面的需求。
网络情况
整个互联网的产生都是依靠了网络,因此网络在整个测试过程中非常重要的。网络测试主要考虑以下几个方面:1.网络类型,2G、3G、4G、wifi、有线、5G等;2.不同的网络状况,弱网、限速、VPN、正常网络。3.不同运营商,鹏博士、电信、网通、移动、教育网等。4.特殊网络情况,断网重连、网络切换等。
兼容性
现在市场上各种设备太多,碎片化很严重,我们的产品又不能只在一个设备上运行,所以兼容性测试很重要也很烦人。基本分为三类:1、Web产品,主要考虑市面上主流的浏览器的兼容性(谷歌、火狐、IE9及以上、Safari、360、搜狗、UC等)以及不同电脑分辨率情况下产品的显示及使用情况。2、App产品,主要考虑市面上不同系统(Android4-7,IOS8-11)、不同品牌(苹果、华为、三星、小米、魅族、vivo等主流机型)、不同屏幕大小、不同配置(低、中、高)的兼容性。3、PC类产品,主要考虑不同系统(win7-10,OS8-11)下的产品使用情况。
易用性
用户体验是王道,为什么苹果产品这么多人喜欢,很大的原因是由于用户体验做的好。现在同类的产品越来越多,谁用户体验做得好,谁最后胜出的概率就大,测试易用性的时候我们要站在用户的角度看待产品,用户体验不仅仅包含操作的体验,还包含宗教、文化、习俗、目标人群特性等方面的考虑,甚至还要考虑法律法规的限制。
UI
UI测试主要是对比UI是否跟设计相符,文案是否存在错别字等,都是些细节的问题,但是细节之处见功夫。
特殊情况
特殊情况主要是指一些异常情况,比如使用过程中手机来电、电量过低、收发短信、Home键、锁屏、横竖屏切换、进程异常被杀掉等异常情况。
其他情况
这里的其他情况是指一些我们说到的东西,给自己兜个底,主要还是一些自己产品的特性,比如安全、复杂逻辑等情况。
以上就是我个人对测试需求分析的理解,有些是自己想到的,有些是总结的别人的,写这个主要是想帮助下新入行的朋友,其次也想把自己的总结写出来帮助自己加深记忆。至于怎么做测试需求分析,每个人都有自己的思路,只要是能帮助高质量的产出时,就是好方法。