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

本文探讨了优秀测试工程师如何进行需求分析,强调测试需求分析的重要性,如同建筑的地基。文章介绍了测试需求分析的步骤,包括从产品需求中提取测试需求,使用思维导图工具,以及针对功能、性能和兼容性进行测试点分析。最后,提供了软件测试面试的相关资源。
摘要由CSDN通过智能技术生成

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

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

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

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

那么如何科学的进行测试需求分析呢?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、计算机基础

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

作为一个软件测试工程师,你可以采取以下步骤来成为一个优秀的专业人士: 1. 学习软件测试基础知识:了解软件测试的基本概念、原则和方法,学习测试策略、测试计划、测试用例设计等基本技能。 2. 掌握测试工具和技术:熟悉并掌握各种测试工具,如自动化测试工具、性能测试工具等。同时了解常见的测试技术,如黑盒测试、白盒测试、灰盒测试等。 3. 深入了解软件开发过程:理解软件开发的不同阶段,包括需求分析、设计、编码和测试等。与开发团队密切合作,了解软件的功能和要求。 4. 注重问题分析和解决能力:具备良好的问题分析和解决能力,能够准确定位和复现问题,并提供有效的解决方案。 5. 学习持续学习和自我提升软件测试领域不断发展变化,保持学习的态度很重要。关注行业最新动态、参加培训课程、阅读相关书籍和文章等,不断提升自己的技能和知识。 6. 与团队合作和沟通能力:软件测试工程师需要与开发人员、产品经理等多个团队成员进行沟通和合作。良好的团队合作和沟通能力能够提高工作效率和质量。 7. 实践经验的积累:通过参与实际项目的测试,积累实践经验。不断总结和反思,在实践中不断改进自己的测试方法和技巧。 8. 注重质量和细节:对于软件质量的追求是软件测试工程师的核心职责之一。注重细节,确保测试过程中没有遗漏任何可能存在的问题。 9. 关注行业标准和最佳实践:了解软件测试领域的行业标准和最佳实践,如ISTQB认证等。遵循相关标准和实践,提高工作的规范性和质量。 10. 持续改进和自我评估:不断反思和改进自己的工作方法和技能,寻找提升的机会。定期进行自我评估,发现不足并制定改进计划。 通过以上步骤,你可以逐渐成为一个优秀软件测试工程师,并在职业生涯中获得更多的发展机会。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值