您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

20年的老软件测试员告诉你,多数人不知道的功能测试内幕

时间:2020-12-07 17:31:47  来源:  作者:

应用程序或网站的功能测试是SDLC(软件开发生命周期)的最重要阶段之一。开发人员、测试人员、项目经理、运营人员,甚至管理人员都需要多多少少参与到整个项目的功能测试。测试工作由测试部门分配,测试部门提供服务的稳定性至关重要。在建立多部分协作的工作文化的过程中,作为测试人员应当首先意识到,不仅可以对产品进行功能测试,还可以为公司的产品做出更多贡献。

20年的老软件测试员告诉你,多数人不知道的功能测试内幕

 

  在应用程序交付给用户面前之前,找出BUG并修复它们至关重要。软件的成功取决于用户的满意度,如果应用程序的界面中充斥着错误和BUG,不仅难以赢得新用户还会流失老用户。

  大多数测试工程师对功能测试如何给企业创造价值都比较清楚也都很进行了很多的尝试和实践。通常,功能测试会占用测试人员一天工作当中的大部分时间。但是,除了执行功能测试之外,还有其他方法可以为产品增加更多的价值。

  作为测试人员,可以通过应用程序的严格CI/CD管道帮助软件团队在保障软件质量的前提下更快地迭代。除了功能测试之外,测试人员还可以通过以下方法为网络产品增加价值。下面让我们一一道来。

  利益相关者

  每个项目的不同部分的成员对项目都有自己不同的需求和想法。但是当使用者是最终使用该产品的用户时,最重要的还是利益相关者的的看法吗?从利益相关者的立场上消除个人偏见和思维惯式可以极大地改善测试过程并增强应用程序或网站的健壮性。列出对交付内容表示兴趣的人,记录利益相关者的期望,并根据利益相关者的心态做出适当变化和指定相关的规范防止方向跑偏,以避免陷入下图所示的情况:

20年的老软件测试员告诉你,多数人不知道的功能测试内幕

 

  因此,除了提供功能测试以外,测试工程师还需要根据与利益相关者进行有效沟通并掌握情况以便及时了解进度。测试人员遇到BUG时,通常会报告该BUG并追踪BUG解决进度流程。但是,要增加价值,还需要报告的内容为对利益相关者影响方面。另外,还需要检查准备好的测试报告如何更多考虑全局情况,而不是专注于单个功能,让决策者更全面了解软件的前世今生,以便做出更合适的决策。

  解决此问题的一个好方法是适应左移测试。左移测试是指即使在产品准备之前也要尽量进行测试。可以与利益相关者坐在一起,了解他们真实的需求和潜藏在这些需求之下的心理动机和期望,以便编写更加符合业务需求的测试用例避免漏测和过度测试。

  过渡到QAOps

  QAOps是指通过与DevOps团队进行良好协调来维护产品的软件质量。目标是提供具有更快的CI/CD流程的健壮的应用程序和软件服务。QAOps致力于与开发和运营团队与QA部门合作,以并行方式执行可扩展的测试自动化用例,以便更好地在DevOps中实现连续测试更好更快的进行软件的更新迭代。

  倾听用户反馈

  我们都知道,无论整个团队对产品的感觉如何良好,用户的意见都是最重要的。了解用户对产品的反馈以及功能的实用性、易用性甚至比功能实现更重要。在部分场景下,特定功能完全符合需求方和测试人员的期望,但会给用户带来额外的负担以及使用困难。

  测试人员应报告可能困扰用户的风险。除了客户支持团队之外,还有谁能更好地了解用户的想法?毕竟,他们是直接与用户密切联系的人。将客户的反馈声音用作最有价值的数据,并在软件团队发挥巨大的作用。

  了解用户故事

  在敏捷开发框架中,测试人员应该多去了解用户故事,以评估发布周期所需必要的工作。它是从最终用户的角度对应用程序上的功能的描述。它描述了用户的分类和属性,他们的需求和想要的东西以及为什么他们想要特定功能。用户故事的主要目的是确定项目为用户带来的价值。产品负责人和测试人员了解用户情况并根据要求确定任务的优先级。

  了解用户故事有助于制定验收标准并涵盖更多使用场景的测试方案。如果故事内容过于庞大,则必须将其分解为不同的模块,甚至根据不同用户分类分解。使用测试透视图来评估用户故事可以使清楚地了解每一个节点花费的时间。市场上有许多在线协作工具可帮助管理者将整个团队保持在一个仪表板上,可以在其中分配任务并跟进团队的进度。

  探索新测试工具

  很多迹象表明传统手动功能测试人员受到行业中使用频率较高的自动化测试工具的威胁。有些人试图抵制这种变化,觉得自己的某个技能或者某个方面的优势可以抵消这些技术带来的不确定性和威胁。不幸的是,一旦我们了解如何利用工具提高测试效率,大多数人都会意识到自动化是一个福音。作为一名测试人员,至少应具有有关测试自动化工具以及在领域的相关机会的基本知识。

  使用自动化测试工具,测试人员可以保留用户操作记录的备份,并在适当的时间使用日志。其他一些用途包括检测日志中的不同模式、模拟用户行为、复制生产数据等。作为测试团队中的探索者,可能需要向他人展示如何轻松使用工具来解决问题的案例。

  例如,如果我们考虑进行手动跨浏览器测试以验证网站的兼容性时,都知道这样的测试非常耗时且费力。如果不了解自动化测试或者对编程语言使用有困难,几乎没人愿意使用Selenium来提高工作效率。作为一名手动测试人员,一开始了解测试自动化时,可能会对Selenium自动化测试感到犹豫和不安全,但是一旦掌握了这些技巧,就会发现测试周期交付速度的提高会大幅提高。

  代码审查

  不要将所有时间都花在功能测试上。测试人员需要对代码更改保持更高的警惕,代码审查提供了一个很好的契机。在每个发布周期中,都需要有一段时间开发团队可以坐在那里审查满足发布要求所需的代码更改。要进行更深入的质量检查,测试工程师需要积极参与代码审查过程,并了解应用程序中可能发生的更改。测试人员不仅应该参与其中,而且还应该就这些更改做出自己的贡献。

  作为功能测试员,每天都在与应用程序进行交互验证。每天都需要执行多个测试场景,记录问题,回归缺陷。虽然代码审查可能对你比较困难,但是从实际使用角度也可以提出一些有价值的建议。

  用户体验

  忽略用户体验,是在急于发布应用程序的软件公司中遇到的通病之一。急于发布功能组件或产品有时会优先于功能部件或产品的正确性、稳定性。在发布产品之前,必须进行深入的检查,条件允许的话可以通过Beta测试解决这些错误。采取必要的手段来收集信息,业务指标和广泛的意见,以从用户的角度评估产品的质量。记录证据留存(防止背锅),并提出建议以促进改进。

  如果是超快速发版,很可能会开始出现不一致的死循环。一般经验来讲,多个开发人员的参与以及将开发任务的一部分外包给不同的团队会导致更多的不稳定风险。用户接触点、图标、操作、文本、功能、性能和关键流程是质量检查的一些重要元素。

  严守Deadlines

  很多测试人员比较苦恼的就是执行了许多重复的工作以及大量浪费在沟通上的时间,以至于整个流程会因此变得混乱导致拖延,有些测试人员戏称搬砖。但是事实上,任何项目规划最终的就是时间节点,必须严格遵守最后期限。最终目标必须是通过避免这些问题来节省时间。同时保持工作进展速度和工作质量,听起来像是一个大坑。但是如果将团队内部和跨部门沟通做好,这两者会在一定程度上达到统一,将会减少很多不必要的更改,给测试工作减少很多时间的浪费。

  编写有效的测试用例和详细的测试报告是快速执行任务的另一种方法。这一句话中使用了详细和快速两个词,听起来可能是矛盾的,但是详细的报告需要一次性的努力。使用合适的工具和保持良好的使用习惯,你可以快速访问查看必要的日志内容、用户数据以及错误信息。

  解决BUG

  很多测试人员认为他们的工作有时候十分枯燥,看起来毫无意义,如果没有发现BUG,又会让他们觉得无法安心上线。一段时间后,像工具人一样运行测试脚本可能会变得有些乏味。执行一个测试用例,编写一个测试报告,将该BUG标记给开发人员,并验证该修复程序听起来很简单,在某种程度上的确是这样。

  但是,如果你想提高自己在这个工作链条中的价值和地位,那么就不能仅仅把自己当做是一个提示BUG的人,该怎么办?那就成为一个解决BUG的人。

  最常见的误解之一:测试人员就是在发现、报告、验证BUG之间循环。事实上测试人员的工作并不会因为报告BUG而结束。如果测试人员通过缩小搜索范围来找到避免大海捞针地找原因,那就离解决BUG还近了一步。例如,除了指出BUG外,测试工程师还可以为开发人员提供一种更轻松的修复方法。这样,测试人员就可以与开发人员合作并帮助团队节省时间、提高质量和效率。纵观全局,能够解决BUG的测试人员可以成为行业的稀缺物种!在求职市场上也会更加受到青睐。

  学习数据科学

  拥有大量原始数据,重要的是选择最相关的信息并熟练地使用它。在这里,我们谈论的是数据科学(俗称大数据),它正在挖掘存·储在数据仓库中的海量信息池。即使逐步交付和部署,也无法测试所有内容,即使是在最佳测试环境中也难以测试!

  就生产用途而言,借助大数据相关技术,测试人员可以获得详细的信息。但是作为测试人员,需要学习如何充分利用所有数据。数据科学可以帮助测试人员集中精力进行更有效的测试。反过来,这将有助于整个组织提供更好的交付质量。

  积极竞争

  在当今快节奏的技术世界中,企业只需一晃神的功夫,就足够使竞争对手脱颖而出。随着互联网行业的发展,以及行业的内卷化的增强,企业之间的竞争将越来越激烈。导致公司产品出现地狱般漏洞的原因,最常见锅还是测试人员来背的。

  在敏捷大行其道的软件行业,测试人员还需要筛选测试业务情况和其他风险,以将竞争对手产品与自己产品的优缺点进行比较。除了功能测试之外,还要考虑其他一些标准,包括可用性测试、安全性测试、性能测试和稳定性测试。

  总结

  虽然功能测试确实具有不可替代的重要性,但这并不意味着测试人员可以长期专注于此!大多数测试人员担心未知的变化,缺乏编码技能。真实情况是除了功能测试之外,还有其他方法可以为组织增加自身价值。

  测试是确保产品在到达最终用户之前无可替代的环节。在某些组织中,测试人员的贡献经常被忽略。许多测试人员想知道他们何时可以与DevOps成员(即使团队宣城他们就是DevOps成员)一起坐在会议室上讨论产品和技术方案。QAOps将专注于DevOps中的连续测试,从而将尽可能改变这一现状。

  因此,作为一名测试人员,想知道自己对服务或应用程序所做的贡献,可以自己先审视一下自己为产品增加的价值。即使决策权属于领导和项目经理,测试人员在其中的作用也不能忽视。测试人员可以为其他成员做出正确的决定奠定了基础,从而帮助团队充分发挥全部潜力。



Tags:功能测试   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
应用程序或网站的功能测试是SDLC(软件开发生命周期)的最重要阶段之一。开发人员、测试人员、项目经理、运营人员,甚至管理人员都需要多多少少参与到整个项目的功能测试。测试工...【详细内容】
2020-12-07  Tags: 功能测试  点击:(97)  评论:(0)  加入收藏
对于自动化测试,原来谈这方面的内容比较少,但是现在我们做DevOps支撑平台的时候,在整个持续集成和交付的过程中,有一个重要的内容就是自动化测试。自动化测试的覆盖面相当大,其...【详细内容】
2020-10-30  Tags: 功能测试  点击:(104)  评论:(0)  加入收藏
1.没有什么常理上不可能发生的bug2.时刻要记住测试的是程序,是代码逻辑,一切都有迹可循,而不是一个自然事物3.前期的用例编写尽可能细腻,覆盖度全面,并提前清除需求不确定项4.测...【详细内容】
2020-08-07  Tags: 功能测试  点击:(62)  评论:(0)  加入收藏
对于测试人员而言,软件产品每个按钮的功能是否准确,链接是否能正常跳转,搜索时会不会出现页面错误,验证并减少这些软件使用过程中可能出现的各种小问题都是功能测试的内容。而对...【详细内容】
2020-08-06  Tags: 功能测试  点击:(47)  评论:(0)  加入收藏
Web测试之功能测试总结,你不知道的这都有!经常碰到有学生问我:老师,一个界面很多搜索条件怎么写用例?这个下拉框测试考虑这些够吗?我怕覆盖不完整?关于上传要考虑哪些验证点?所以今...【详细内容】
2019-06-11  Tags: 功能测试  点击:(393)  评论:(0)  加入收藏
▌简易百科推荐
摘 要 (OF作品展示)OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比...【详细内容】
2021-12-27  项目与数据管理    Tags:Vue   点击:(1)  评论:(0)  加入收藏
程序是如何被执行的  程序是如何被执行的?许多开发者可能也没法回答这个问题,大多数人更注重的是如何编写程序,却不会太注意编写好的程序是如何被运行,这并不是一个好...【详细内容】
2021-12-23  IT学习日记    Tags:程序   点击:(9)  评论:(0)  加入收藏
阅读收获✔️1. 了解单点登录实现原理✔️2. 掌握快速使用xxl-sso接入单点登录功能一、早期的多系统登录解决方案 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器...【详细内容】
2021-12-23  程序yuan    Tags:单点登录(   点击:(8)  评论:(0)  加入收藏
下载Eclipse RCP IDE如果你电脑上还没有安装Eclipse,那么请到这里下载对应版本的软件进行安装。具体的安装步骤就不在这赘述了。创建第一个标准Eclipse RCP应用(总共分为六步)1...【详细内容】
2021-12-22  阿福ChrisYuan    Tags:RCP应用   点击:(7)  评论:(0)  加入收藏
今天想简单聊一聊 Token 的 Value Capture,就是币的价值问题。首先说明啊,这个话题包含的内容非常之光,Token 的经济学设计也可以包含诸多问题,所以几乎不可能把这个问题说的清...【详细内容】
2021-12-21  唐少华TSH    Tags:Token   点击:(9)  评论:(0)  加入收藏
实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组 data() { return { qList: [], //处理后...【详细内容】
2021-12-17  Mason程    Tags:VUE   点击:(14)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  软件测试小p    Tags:性能调优   点击:(19)  评论:(0)  加入收藏
Tasker 是一款适用于 Android 设备的高级自动化应用,它可以通过脚本让重复性的操作自动运行,提高效率。 不知道从哪里听说的抖音 app 会导致 OLED 屏幕烧屏。于是就现学现卖,自...【详细内容】
2021-12-15  ITBang    Tags:抖音防烧屏   点击:(23)  评论:(0)  加入收藏
11 月 23 日,Rust Moderation Team(审核团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,审核团队集体辞职是为了抗议 Rust 核心团队(Core team)在执行社区行为准则和标准上...【详细内容】
2021-12-15  InfoQ    Tags:Rust   点击:(24)  评论:(0)  加入收藏
一个项目的大部分API,测试用例在参数和参数值等信息会有很多相似的地方。我们可以复制API,复制用例来快速生成,然后做细微调整既可以满足我们的测试需求1.复制API:在菜单发布单...【详细内容】
2021-12-14  AutoMeter    Tags:AutoMeter   点击:(20)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条