• 1
  • 1
分享
  • 一文教你做好软件测试
  • 九哥 2022-10-19 14:56:22 字数 3078 阅读 1000 收藏 1

软件测试是对项目研发过程产物(文档、代码、程序等)进行审查,保障产品质量的过程。测试人员应具备从用户角度、开发角度和业务角度审查研发过程产物的能力,从而促使最终的产品达到用户、开发和业务三方要求。

一、测试人员的价值是什么

自动化测试是当前测试领域的一种重要技术,市面上有jmeter、postman、metersphere等诸多自动化测试工具。越来越多的测试人员将自动化测试作为自身价值的突破点,通过学习掌握更多的自动化测试工具彰显自身价值。那么,测试人员的价值真的就等于自动化测试的水平吗?

显而易见,自动化测试是一种新兴的重要的测试技术,是软件测试的一个重要分支。它具有一定的技术门槛和客观的评价指标,使得越来越多的招聘人员习惯于通过自动化测试的掌握程度衡量一个应聘者的测试能力和价值。进而导致测试人员更加专注于学习钻研自动化测试技术和工具。

毫无疑问这种行为是本末倒置的,它混淆了测试人员的本职工作是什么,掩盖了测试的核心目标是什么。测试人员的本职工作是保障产品质量,测试的核心是全方位检查产品质量水平,提升产品质量。自动化测试可以提高测试的响应效率,提升测试的深度,但是无法决定测试的质量。测试的质量取决于测试人员自身的测试认知水平。这就类似于武器和人的关系,武器装备水平可以提升战争获胜的可能性,但是决定战争胜利的永远是人。自动化测试就是一种先进的武器,借助它可以提升测试质量,但是决定测试质量好坏的永远是测试人员。如果测试人员都不知道要测什么,怎么测,测到那种程度,那么自动化工具就更不知到了。

越来越多的测试人员认为能编写自动化脚本就是提升,认为掌握了各种报文工具就是提升,认为能看懂报文就是提升。其实不是,显然这些东西开发人员就可以很好的造成,如果测试人员只会这些,充其量只是开发人员的一种补充。充当了开发人员的助手,帮助开发人员完成开发人员不愿做或没精力做的工作。尤其当开发人员比测试人员更了解程序,测试人员需要开发人员告诉他应测什么时,那么测试人员的价值就更显得可有可无,结果就是测试人员的话语权日渐式微。这种现象本职原因在于测试人员放弃了自己的传统优势,横跨到开发领域和开发比拼技术。

测试人员的本职是测试,测试人员的传统优势在于能够有效保障和提升产品质量。这就要求测试人员熟悉测试理论,掌握各种测试方法,知道应该测什么,怎么测,测到什么程度后,产品的质量就可以认定满足产品上线标准。测试过程由测试人员主导,开发人员应配合测试人员开展测试活动。当然前提在于测试人员的方法和行为是行之有效的,测试过程确实保障了产品质量。

测试活动的核心是测什么,接下来给你分享三个视角审视审查产品质量。

二、软件测试的三个视角

2.1测试即用户

测试人员应用户视角审查产品,主要基于用户的内在需求和外在表现两个方面。用户的内在需求即用户对一个美好产品的期待和渴望。可以从四个方面度量:产品是否便捷,产品是否易用,产品是否安全以及功能是否正确。产品是否足够便捷很大程度上决定了用户是否愿意从产品观望着转化为产品体验者,最终沉淀为产品用户。产品的便捷性是指用户是否可以方便,快捷的通过产品实现需要,即产品是否及时,快捷,方便以及功能强大。用生活日常缴费这个场景说明,即用户是否可以及时快捷的访问产品,app,小程序,公众号三类访问渠道所提供的用户感受的显然是不同的。所能提供的缴费类别多少,如电费,水费,物业费,宽带费,停车费等也直接决定了产品可实现用户需要的程度。产品的易用性很大程度决定了产品体验者是否可以有效沉淀为产品忠实用户,是指产品操作是否清晰,简单,尤其是当用户不读使用说明的情况下。

当下,用户的时间是宝贵的和紧缺的,阅读产品说明书和不清晰的操作指引会极大降低用户有限的耐心,提高产品的使用门槛,降低用户的使用意愿。产品是否安全决定了用户是否放心使用产品,信任产品,不安全的产品会极大造成沉淀用户的流失,降低潜在用户的产品体验意愿,毕竟没人会愿意使用一个存在安全隐患,随时可能伤害到自己的产品。功能正确是一个产品的基本要求,它决定了产品是否真实响应了用户操作,以及用户的使用感受。比如正确的用户输入得到错误的响应,正确的操作导致资金的流失,正确的操作没有实现用户的需求。

用户的外在表现主要是由于用户群体呈现出来的复杂的,不可预测的操作行为,例如:不正确的金额,文本输入,不合规的操作,不够的余额和过大的缴费金额等等可能存在的异常操作。这里要求测试人员对用户有一个清晰的认识:用户即傻瓜,测试人员不能假定用户是一个具有一定技术水平,业务知识,知识水平的理性人。这就决定了用户的输入和操作是千奇百怪的,测试人员要模拟这个傻瓜,做出这个傻瓜可能做出的所有动作。比如忘记密码,账号被锁死,违反常识的输入,错误的操作,重复的提交等等。

2.2测试即开发

测试人员应从开发视角审查产品,主要从功能是否实现,功能是否正确实现,功能是否完美实现三个方面审视。功能是否实现是指系统是否满足需求说明书,详细设计等软件过程中所产生的各类文档的要求。比如:需求说明书中要求实现的功能是否都实现了,设定的业务规则是否都实现了,规定的非功能性需求:服务时间,并发量等是否都实现了。功能是否正确实现是指针对不同的输入,系统的实际响应是否符合预期,其中包含正常输入的正常响应和错误输入的异常响应。

比如:购买一件商品,支付金额小于账户余额,系统反馈支付成功就是正常响应。购买一件商品,支付金额大于账户余额,系统反馈支付成功就是异常处响应。正常响应是系统对客户合理需求的正向反馈,异常响应是系统对客户不合理需求的反向反馈。类似于银行业务中的冻结账户不允许取现转账,个人客户不允许开对公户,普通市民不允许办军卡等都属于客户提出了不符合该客户角色的需求。功能是否完美是指开发人员在实现功能的过程中对用户体验,鲁棒性,安全性等软性要求的考虑和实现程度。比如该功能的界面是否美观,交互是否人性化,指引是否清晰。又比如该功能是否可以覆盖各类异常输入,并作出合理响应,是否考虑各类断网,内存溢出等异常情况,增强系统鲁棒性和稳定性。它的难点在于可遇到的处理情况太多,并且存在清晰与简洁等互相冲突的原则。

2.3测试即业务

测试人员应从业务视角审查产品质量,主要基于一个原则,即产品设计是否合理。可能的情况有:业务流程设计是否存在漏洞,比如某些产品在创建优惠券、订单等时会限制诸多校验,但是修改时却未做相关要求,造成可以通过创建》保存》修改》发布,绕过创建时的限制。又如,产品设计失真,表现业务人员常常会过度设计产品,向用户展示过多隐私,无意义或主题无关的信息等。

给产品赋予过多的偏离主题的功能,使得产品的聚焦不够明显,产品定位混乱,造成用户无法领会理解产品设计意图。比如:在一个箱子的每个面都装上滑轮。比如:某音乐播放软件点击播放本地歌曲时,会甩给用户一个本地歌曲播放提示流程,需要用户阅读后才能使用。合理的做法应该是在箱子的一面加上轮子,本地歌曲为空时,跳转到歌曲界面,引导用户将音乐下载到本地。业务规则设计错误或于现行法规要求不符。比如:企业向个人转账超出限额,必须出具付款凭证,否则不允许转账。若产品设计中未将付款凭证设计为超出限额条件下的必选项,则违反现行的法规要求。

三、结语

本文通过分析软件测试的要点,引导测试人员从“两面、三点、一原则”出发做好、做优软件测试活动。旨在提醒大家在学习自动化测试、性能测试、安全测试的同时,不要忘记最基础、最本质的功能测试。功能测试做不好,产品质量就是空中楼阁,终归是美而不稳。

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 常见的功能测试的流程是:需求分析,用例编写,用例评审,提测验证,Bug 回归验证,上线与线上回归。但是做起来就是:写不完的用例,跑不完的case,天天都要加班。我以功能测试的工作流程,结合实际的工作内容,来具体细说一下做好功能测试的建议:一、需求分析首先一般大家接触到的都是产品主导型的开发模式,其中需求和项目,作为测试是没办法去主导的。这个时候就需要开展需求会议,来让团队中的各个成员来充分理解需求。注意,需求会上没有澄清的一个小点,都会成为日后你工作中一个巨大的坑。在需求评审中,你需要做的是提前阅读需求文档,把问题点都记录下来,然后在会上对描述不清晰、不便于设计用例、测试点不明确的地方都要抛出...
            2 1 1965
            分享
          • 一、Postman介绍Postman官网上这样介绍它:"Manage all of your organization's APIs in Postman, with the industry's most complete API development environment."看的出来Postman是功能强大的API测试的工具Postman 提供功能强大的 Web API 和 HTTP 请求的调试,它能够发送任何类型的HTTP 请求 (GET, POST, PUT, DELETE...),并且能附带任何数量的参数和 Headers。不仅如此,它还提供测...
            0 0 2639
            分享
          •   据报道,LG在宣布与 Meta 成立合资企业仅三个月后,就暂停了与 Meta 合作开发扩展现实(XR)设备,原本双方打算设计制造一款可对抗苹果Vision Pro头显的产品。据韩国多家新闻媒体都报道称,Meta与LG的合作关系已经完全破裂,原因是两家公司之间缺乏"协同效应",但 LG 却否认终止了这项交易。  今年 2 月,LG 首席执行官 William Cho 和家庭娱乐公司总裁 Park Hyoung-sei 与 Meta 首席执行官马克-扎克伯格会面,商讨合作事宜。  LG 电子在给《中央日报》的一份声明中说:"LG 电子会继续与 Meta 公司在 2...
            0 0 779
            分享
          •   在web前端自动化测试过程种,经常会遇到各种弹出窗口:如浏览器新标签页的页面弹出窗口,告警、确认式的js弹出窗口,文件上传的windows弹出窗口等等。针对此类弹出窗口的处理,是前端自动化测试绕不过去的一个坎。接下来,我们来简单了解下这类弹出窗口的原理,和使用selenium+webdriver自动化方法处理方式,以及举例说明使用selenium ide工具的处理方法。  一、几种弹出窗口介绍  1.页面弹出窗口  1)模态弹出窗口和非模态弹出窗口  页面弹出窗口,即点击一个链接之后可能会打开一个新的浏览器窗口,跟之前的窗口是平行关系。  页面弹出窗口又可以分为:模态弹出窗口和非...
            12 12 1895
            分享
          •   近日美国加利福尼亚州的三名特斯拉车主以集体诉讼的形式起诉了特斯拉,指控特斯拉虚假宣传其电动汽车的预计行驶里程。  据悉,美国加州法院的诉讼援引了外媒上周发表的一篇文章,文章称特斯拉在接到大量车主投诉后,在内华达州成立了一个“分流小组”,以尽可能多地取消与续航里程有关的预约。  报道称,据一位知情人士透露,大约十年前,特斯拉决定为其仪表盘内的续航里程表编写算法,向驾驶员显示在电池充满的情况下汽车可行驶距离的“乐观”预测。  知情人士说,提出乐观续航里程估计的指令来自特斯拉首席执行官马斯克。目前无法确定特斯拉是否仍在使用提高续航里程估计值的算法。  据悉,当时的特斯拉在电量低于最大电量的50%...
            0 0 699
            分享
      • 51testing软件测试圈微信