• 一个优秀的软件测试工程师该如何进行需求分析


    不知道大家有没有这样的想法,为什么别人的需求分析写的这么好呢?而自己写需求分析的时候总是脑袋瓜子都抓破了,还被老大批评?今天我就给大家讲一下——一个优秀的测试工程师如何进行需求分析呢?

    好的测试工程师,需要有测试的思维方式。

    测试分析和设计能力,就是这种思维方式最好的体现。

    接触过测试的人都应该清楚“测试需求分析”的重要性。就好比是建楼的地基,地基不牢,再好、再高的大楼都可能在顷刻间崩塌。

    那么如何科学的进行测试需求分析呢?BAT乃至Facebook等国外的先进互联网公司的顶尖测试工程师又是如何进行需求分析呢?我们常规的需求分析又有哪些不足呢?今天利用上班时间好好和大家一起聊一聊测试需求分析的那些事儿。

    • 软件测试的生命周期

    在讨论测试需求分析之前,我想跟大家明确一下软件测试的生命周期。很多朋友对整个测试过程的周期不甚了解,导致测试工作混乱不堪,名有明确的思路。这样是无论如何都不能做好软件测试工作的。

    一个优秀的软件测试工程师该如何进行需求分析

    测试需求分析:从产品需求挖掘出我们需要的测试需求

    测试设计:根据测试需求,设计测试方案和测试用例

    制定测试计划:根据项目实际安排人员周期

    执行测试:依照测试计划,执行测试用例

    质量评估:提交Bug,提交测试报告

    • 为什么要做测试需求分析?

    举一个现实生活中大家经常用到的例子。生活中可能经常有人这么问你:我想买台电脑,有什么推荐么?那么我们是不是需要问这么几个问题:买来干嘛的?台式机还是笔记本?你预算多少啊?对系统有啥要求么?

    一个优秀的软件测试工程师该如何进行需求分析

    只有这些问题我们都明确了之后,我们才能够帮忙去推荐。也就是说,通过这些问题,我们才能了解对方的需求。同样,我们做测试工作,产品需求并不等于测试需求,如果没有测试需求分析,就会导致我们对产品了解不完整、不准确,对产品的测试也会不透彻。所以,测试需求分析是必不可少的环节。

    • 如何进行测试需求分析呢?

    一个优秀的软件测试工程师该如何进行需求分析

    分析任何一个事物,我们都需要一个分析对象,同样测试需求分析首先要有一个分析对象。作为测试需求分析的对象,一般有这么几种形式:产品需求文档、交互稿、技术文档、会议纪要等其他参考资料。根据这些资料文档,我们从测试的角度进行分析。

    1. 产品需求文档

    2. 交互稿

    3. 技术文档、会议纪要等其他参考

    • 在测试需求分析的过程中我们需要用到一些思维导图的工具,帮助我们从广度和深度更加直观的去分析需求。他可以把我们整个的思考过程层次化、结构化的表达出来。思维导图的工具有很多,在这里主要跟大家分享、比较下北月用过的几个,孰优孰劣,大家自己去判断。

    一个优秀的软件测试工程师该如何进行需求分析

    • 分析结果也有多种的表现形式,以最开始买电脑的故事为例,可以变现为:

    一个优秀的软件测试工程师该如何进行需求分析

    将这些确定的条件合起来,我们就可以得到买电脑的需求。

    • 测试需求分析的类型(从广度上分析)

    测试需求分析的类型其实大家也再熟悉不过,大家可以参考清流的文章"这样考虑测试点,做个合格的测试工程师",在这里北月不多说。

    • 举个栗子

    接下来我们以“网易云课堂”的一个小功能为例,从功能、性能、兼容性方面简单的实现测试需求分析。下图是网易云课堂一个功能的交互稿:

    一个优秀的软件测试工程师该如何进行需求分析

    一个优秀的软件测试工程师该如何进行需求分析

    那么测试需求是什么呢?

    首先我们先考虑功能测试测试点:需要分析用户参加课程的行为,可能会出现哪几种情况?用户是否登录?参加课程是否成功?参加课程失败的原因可能是什么?

    一个优秀的软件测试工程师该如何进行需求分析

    在这里需要注意,在需求文档、交互稿里没有明确的情况需要我们测试人员发散思维去考虑到而不是因为需求文档没有明确而不考虑。

    其次我们考虑性能测试需求。一般性能测试的需求不会明确表示在需求文档和交互稿里面,需要我们去和产品、开发沟通,依靠我们的经验去明确。比如说,上万用户同时参加某个课程,是不是会出现有人无法参加课程的情况?程序响应速度会不会变慢?会对服务器产生哪些影响?因此性能测试需求,我们要对大量用户同时参加课程进行测试;那么我们想到,参加课程需要用户提前登陆,因此我们还要对大量用户同时登陆进行测试。

    一个优秀的软件测试工程师该如何进行需求分析

    接下来是兼容性。我们知道目前市面上的手机有很多品牌,但手机系统主要分为Android和IOS,还有少部分的windows;PC系统主要有windows、mac和Linux;浏览器主要有火狐、谷歌、IE等。

    一个优秀的软件测试工程师该如何进行需求分析

    一个优秀的软件测试工程师该如何进行需求分析

    我们首先要确认,我们的系统目标是要支持那些系统?哪些平台?哪些浏览器?然后根据系统目标去考虑兼容性的测试内容。

    最后:下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!【100%无套路免费领取】

    软件测试面试小程序

    被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

    涵盖以下这些面试题板块:

    1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

    6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

      全套资料获取方式:点击下方小卡片自行领取即可

  • 相关阅读:
    Remix 开发小技巧(四)
    synchronized 、ReentrantLock
    一文带你玩转Redis缓存数据库
    用HTML+CSS做一个漂亮简单的音乐网站
    HAProxy终结TLS双向认证代理EMQX集群
    Apple macOS 13 Ventura 有意义的操作系统
    (已导出)【kubernetes系列学习】client-go学习与实践
    Android: ListView + ArrayAdapter 简单应用
    关于防抖和节流在前端开发中的应用
    CSS
  • 原文地址:https://blog.csdn.net/weixin_47648853/article/details/133945782