• 0
  • 0
分享
  • 测试陌生系统必备的6个步骤,做对3个算我输——软件测试圈
  • 曼倩诙谐 2024-03-05 14:29:38 字数 2740 阅读 334 收藏 0

  作为一名Tester,无论是面试还是工作,我们都常常会遇到该问题,毕竟现在大部分接手的项目都是中小型的项目,很多又是生疏行业的系统,所以这个问题就会常常伴随我们,那么遇到这个问题该怎么办呢,现在我们就分下面6点来讨论一下。

  1.了解测试任务

  我看网上有些博主一上来就让大家看资料了解系统,就是下面讲的第二点,当然这样做也行,但是会导致效率低下,就像我们上学时做阅读理解一样,最正确的做法应该是带着问题去看资料,所以我们应该一上来明确测试任务,然后带着这些测试任务的问题去看资料。

  2.从现有资料中获取信息

  明确测试任务后,就可以问研发团队要该项目的所有资料了,这里面主要包括产品需求文档(PRD)、用户手册和架构图等,找出系统具备的功能、性能、安全等特性。说到这可能有些同学就真的会老实地把这些资料全部从头到尾看完,这样可取吗?可以这样做,但是不推荐,原因有两点,其一这样会花费大把的时间,如果遇到项目比较赶那怎么办?另外就是资料内容那么多,全看完你能记得住?所以我这边强调的做法是,一定要从项目经理或产品人员那里弄清该系统的主要功能和主要业务,先把大头拎出来,做到主次区分!是不是更像阅读理解了?哈哈。

  3.制定合理的测试计划

  接下来我们就要制定一个稍微详细点的测试计划,注意我说的是“稍微”,因为这个时候对系统还是比较生疏的,也只能做到“稍微”,等后面谈到的几点做完再做正式测试计划。那么这里的测试计划要明确测试的目标、范围、方法、重点事项、测试策略和时间表(在这里暂且不用太多考虑人员组织、测试风险、延期之类的)。该测试计划只是用来进行初步测试的,尽量覆盖系统的各方面就行。

  4.进行探索性测试

  我知道很多测试工程师一上来就是做这步,然后边做边去完成前面几点,这种做法看起来迅速,其实会导致效率降低,常言道“磨刀不误砍柴工”,我们还是一步一个脚印有条不紊地测试系统才能尽可能漏测。好言归正传,怎么进行探索性测试呢,一般人的做法就是把一些主要功能点验证一下就完事了,比如登录、注册、输入、输出、提交等。诚然,这些是必做项,但我们所要做的远不止此。这些仅仅是功能测试领域的一些常规操作,我们还有很多项需要去检查:

  在做功能测试我们要顺带做业务(逻辑)测试,如果主流程都跑不通,那么功能再正常有什么用?一旦发现主流程有问题,最好还是打回重做!

  其次是异常(如边界)测试,别小看这项,在我们做测试时,发现一个系统的初始版本最容易出现的问题就是边界异常,所以这里就是我们探索性测试的二八原则里的二,甚至可以说是“二”里面最值得关注的。

  然后是兼容性测试,如果用户没有指定浏览器就要支持主流的浏览器),如果用户指定了浏览器那么只需要关注那些浏览器即可。

  然后是性能测试,看用户的性能要求,如果没有性能要求则自己评估要达到的最低性能。即使项目没有明确提出性能要求,我们也要做最起码得把关,否则到时候性能出了问题赖到我们头上也好自证清白。

  最后还要兼顾一下安全测试,比如对于一些常见的如SQL注入、跨站请求伪造(CSRF)、跨站点脚本(XSS)。

  测试过程中,要记录所有发现的问题,并生成详细的测试报告,这样可以清晰地概述测试结果、解决方案和问题的优先级。

  5.进行迭代测试

  根据上面测试得到的结果对原先制定的测试计划进行调整,这个时候就要制定正式的测试计划,在探索性测试的基础上看看是否有漏测,记录之前发现的疑问和风险,再次明确测试的重点,优先级,然后在开始正式对系统测试。

  6.多和研发团队中成员沟通

  软件研发需要团队协作,切忌孤军奋战,虽然测试的展开主要靠自己,但是一旦遇到问题,还是要及时与产品、研发保持沟通,及时告知领导测试进度和测试过程遇到的问题,这样有助于促进问题的解决。千万不要觉得自己是测试,就为了树立非常专业的形象而羞于开口请教,这样是得不偿失的,作为过来人,我是有过好几次这样的经历的。当然还是那句话,可以请教但是最好是真的搞不懂再去,不要一遇到问题就问别人,这样只会招人烦。

  实战

  说了这么多,可能有小伙伴会说来个实际案例更直观,行那就直接来个实战项目。现在假设领导给我们一个政务OA系统,比如这边拿公考的网站作为例子,你该怎么展开测试呢?可能你以前只是测过一些电商平台,那么拿到政务类OA系统该咋办?

1-1.png

  好的,那就按照我们上面提到的步骤操作一遍吧。

  1.要搞清此次测试的任务是什么,比如该OA系统客户是想要重点关注什么,需要保障哪些方面的功能实现?

  2. 我们就该问研发团队要资料了,拿到PRD、用户手册及架构图,把主要功能和业务拎出来;

  比如该网站据了解是考生登录以后报名心仪的岗位,通过填写个人基本信息,上传免冠照片及缴费完成报名流程,所以这里的主要功能就是考生的登录——填报——上传个人照片——缴费——提交等功能,这些功能串成的便是主干业务流程,这就是我们前期要特别关注的测试面。

  3.制定合理的测试计划,这里的测试计划可以是“粗”一点的,明确此次测试的目标、范围、方法、重点事项、测试策略和时间表;

  4.进行探索性测试,这个能做的就多了,大家可以翻看到前面所列举的探索性测试项,这边仅就登录页面示范,光登录就可以进行账户和密码的组合验证;

1-2.png

光这边的黄圈内的测试组合就有很多种

1-3.png

  登录该网站后,可以看到该网站还算是比较简洁的,主要的类目都列在左侧,像该系统甲方还是很看重诸如“简历管理”这样的板块的,所以在探索性测试时就要对该板块进行详细的测试。当然除了这些主要的版本,要在条件允许的情况,也要将次要的部分进行测试,因为这边的探索性测试涉及面太细,所以就不一一列举了,大家明白意思就行。

  5.进行迭代测试,就是根据前面测得的结果再调整原先的测试计划,使之趋于完善,然后更加全面地对系统展开测试,弥补前面探索性测试的漏测,然后看情况确定测试几轮。

  6.多和研发团队成员沟通,这点我觉得大家不用说也知道去执行,但一定要掌握好请教别人的时机和频率。

  以上只是拿一个简单的事业单位报名系统举例,当然受制于篇幅只能点到为止啦,相信大家在测试的过程会逐渐将我提到的这一系列操作步骤强化记忆。

  总结

  在测试陌生系统时,综合运用学习、沟通、规划、探索、执行等策略,有助于确保测试的顺利进行。灵活性、沟通和坚持学习的态度是成功测试的关键。特别是对于萌新,千万别害怕,经历过几次就好了,但要在每次的测试历练中总结经验,这样以后拿到陌生系统时,测试的效率和质量就会越来越高!


作者:有房车的直男    

来源:http://www.51testing.com/?action-viewnews-itemid-7799862

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 移动应用特点与传统的PC软件系统相比,移动应用开发成本相对低廉,具有很好的便携性,极高的碎片时间利用率,很强的用户粘性及忠诚度,尤其随着网络及智能移动设备的迅速发展,移动应用占据了用户日常生活的大部分,人们常说的“手机控”“低头族”也充分说明了移动应用发展前景的火爆。移动应用具有以下几个特点。1、应用场景多变有了移动应用,人们参与互联网活动不再局限于办公室、家庭或其他固定场所,随处可见的“低头族”足以说明移动应用的应用场景广泛。图10-1低头族2、高便携性以手游为例,传统的游戏有端游、页游,都需在PC上运行,随着掌上游戏机的发展,渐渐地将游戏移植到便携设备上,发展至今非常火爆的手游,如王者荣耀...
            0 0 1030
            分享
          •   Web软件性能测试是一种收集信息和分析信息的过程,主要目的是用来检查程序是否具有良好的性能,为维护系统的性能找到有效的改善策略。  性能测试主要是考察在不同的用户负载下,Web 应用对用户请求作出的响应情况,以确保将来系统运行的安全性,可靠性和执行效车。  Web性能测试能够基露出系统的性能瓶颈问题,并提供一定量的数据来帮助诊断和查明问题所在,最后起到优化系统的目的。  性能测试包括连接速度测试、负载测试和压力测试。压力测试是通过不断向被测系统施加压力,测试系统在压力情况下的性能表现,考察当前软硬件环境下系统所能承受的最大负载并帮助找出系统瓶颈所在。  负载测试是为了检验系统在给定负载下是...
            0 0 1298
            分享
          •   再过两天,Galaxy S24 系列就要正式发布了,围绕这款新设备的消息可谓热闹非凡。几乎每一天,我们都能看到新的营销材料展示新设备的某些方面。在经历了昨天的两次大规模泄密之后,新手机又经历了一次大规模泄密,突出了三星希望你了解的一些新特性。  从上面的图片中可以看出,三星在 Galaxy S24 的设计之初就非常注重人工智能功能的引入,即时翻译功能被放到了非常重要的位置,看来,三星并没有把人工智能仅仅作为一项新奇的卖点来添加,而是希望用户能够利用它来提高工作效率,期待看到它们真正能够发挥作用。  除此之外,摄像头和屏幕的改进等几个重大亮点都出现在海报资料中。  Galaxy S24 系列...
            0 0 253
            分享
          • 读者提问:没有测试数据,自己又不会编,有什么办法可以方便快速地伪造数据 ?阿常回答:Python 库-Faker。GitHub地址:https://github.com/joke2k/faker(开源社区)Faker 是一个 Python 包,主要用来创建伪数据,使用 Faker 可以生成大批量的看起来很真实的 “ 假数据 ”。阿常碎碎念:接下来阿常给阿常演示一下 Faker 的安装和使用:1、安装 Fakerpip install Faker2、从 faker 模块中导入类from faker import Faker3、调用方法#...
            0 0 965
            分享
          •   根据市场研究公司国际数据公司(IDC)的数据,智能手机品牌vivo在2023年第二季度超越科技巨头三星,成为印度领先的智能手机制造商。  第二季度,vivo的市场份额从去年同期的14.5%扩大至16%,稳居第一。在此期间,其出货量增长了7.4%;排名第二的三星的市场份额从2022年第二季度的16.3%下降至2023年第二季度的15.7%;realme排名第三,出货量同比大幅下降29.8%,市场份额从17.5%下降至12.6%;OPPO以11%的市场份额排名第四,出货量下降7.4%。  小米的出货量降幅最大,下降了39.4%。这一下降使其市场份额从2022年第二季度的17.6%降至2023年...
            0 0 348
            分享
      • 51testing软件测试圈微信