软件测试中的设计思维

译文 精选
开发
探讨有哪些可以运用于研发测试的设计思维。


作者 |  Vivek Mannotra

译者 | 刘雨瑶

策划 | 云昭

设计思维是一种强大的范式,软件测试人员和质量保证专员(QA,Quality Assurance)可以使用它来创建更多以用户为中心的软件。

Adobe曾委托Forrester咨询公司进行了一项研究,结果显示当以最高优先级和高质量的方式设计时,以设计为主导的公司反馈的忠实客户增加了50%,市场份额增加了41%。它在帮助指导产品开发以及通过提供差异化体验与客户建立联系方面发挥着多层次的作用。

设计主导型公司是指将设计置于品牌核心地位的公司。他们将设计原则融入到每一件事中-从研究、战略到创建内容。他们超越交易,专注于与客户建立持久而有意义的关系的良好体验。

本文探讨有哪些可以运用于研发测试的设计思维。

1.设计思维原则


图片

设计思维背后的基本原则是同理心、构思以及原型设计。同理心是关于理解用户的需求和观点。构思是关于产生新的和创新的想法。原型设计是关于创建产品原型并与实际用户共同测试以获取反馈。

设计思维涉及的五个步骤是:

1.同理心:深入了解用户的需求和观点。

2.定义:定义需要解决的问题。

3.头脑风暴:产生新的和创新的想法。

4.原型制作:创建产品的原型。

5.测试:与实际用户共同测试产品以获得反馈。

这些步骤可以应用于任何主题,以便我们更深入地了解它。设计思维是一种以人为核心的方法,它将最终用户的需求置于任何产品开发的中心。这种方法论允许企业通过建立对客户方便且易于使用的产品,来实现最终的目标。

图片

此外,设计思维可用于在初始阶段测试未来产品及其功能的可行性。这种方法为软件开发带来了可行性检查、零告警、零意外、更加清晰透明等优势。

2.应用于软件测试的设计思维 

为了提高软件产品的质量,在软件程序测试领域中应用设计思维原理可以提高软件产品的质量。设计思维有助于生成用于测试软件产品新的创新想法。设计思维有助于为测试软件产品产生新的和创新的想法。 

设计思维的每个原则都可以应用于软件测试,以开发更多以用户为中心的软件: 

  • 同理心:为了设计以用户为中心的软件,首先要了解最终用户的需求和痛点。这可以通过访谈、调查和焦点小组的用户研究来完成。此外,质量工程师可以通过分析观察最终用户,以更好地了解他们如何与应用程序交互。 
  • 定义:一旦了解了最终用户的需求,下一步就是定义软件需要解决的问题。这有助于指导软件的开发并确保它专注于正确的事情。这涉及业务分析、用户体验设计和快速原型设计。从测试的角度来看,定义具有正确动机的测试用例是确保测试策略整体有效的一个非常关键的部分。 
  • 头脑风暴:一旦定义了问题,下一步就是提出潜在的解决方案。这可以通过与团队的头脑风暴会议来完成。重要的是要提出尽可能多的想法,而不是在这个阶段对它们进行评判。对于测试人员,它将包括在业务分析师(BA,Business Analyst)、设计和技术领导层之间共享上一步中设计的测试计划列表,并确保所有利益相关者都在同一页面上。这可能还涉及各种其他决定因素,例如自动化程度、回归类型、最佳报告结构等。
  • 原型制作:下一步是利用已经产生的想法并创建原型。这些原型可用于测试想法的可行性并获得用户的反馈。这可能包括为一些关键流程实施测试计划,以便更好地了解测试过程本身。在所有阶段实施自动化测试,包括使用最新工具、云平台和基于人工智能(AI,Artificial Intelligence)/机器学习(ML,Machine Learning) 的工具进行单元、集成、系统和验收测试。
  • 测试:最后一步是在生产环境和实际用户中测试软件。这将有助于确保软件满足他们的需求,并且确保软件对用户友好。在所有步骤中生成适当的报告并进行沟通,以确保在发生故障时采取正确的行动。 

尽管实施具有适当设计思维的测试策略无法替代真实的用户接受度,但将有助于减少测试工作流程中的任何低效和非必要活动。 

3.敏捷开发和瀑布式开发的设计思维

设计思维和敏捷开发之间有一些关键的区别。设计思维专注于从用户的角度解决问题,而敏捷开发专注于快速有效地交付功能。设计思维也强调协作和迭代,而敏捷开发则强调个人责任和义务。

在敏捷开发下,使用DevOps软件的测试团队完全有理由在他们的测试策略中实施设计思维原则。事实上,这样做可能是有益的,以便更好地理解用户的需求并找到更快、更有效地交付功能的方法。 

设计思维可以对敏捷开发和瀑布式开发模式中的软件开发和测试团队产生深远的影响。在敏捷开发中,设计思维帮助团队专注于用户体验和客户旅程,而在瀑布式开发中,它帮助团队优化需求收集和文档部分。

图片

该团队将开发出更好的能力用来识别用户需求并相应地开发软件。团队还可以尽早、经常测试软件,以确保软件满足用户的需求。 

4.手动测试和自动测试的设计思维

在具有传统团队结构的技术初创公司中,流程分为业务分析、用户体验设计、软件开发和质量保证,总体范式可以是敏捷的,也可以是瀑布式的。自动化测试在社区中受欢迎的程度在不断的提升,预计未来几年自动化测试的占有的总百分比将飙升,尤其是由于基于云的工具出现,这使得团队在各个层面实施和协作自动化测试变得非常容易。 

在手动测试场景中,设计思维可用于开发项目的一些特定需求的测试策略。例如,如果目标是提高网站的可用性,团队可能会使用设计思维来提出如何像真实用户一样测试网站的想法。这可能涉及创建用户配置文件、识别用户任务和创建测试场景。一旦团队制定了计划,他们就可以执行测试并分析结果,以查看网站是否满足用户的需求。

图片

设计思维可以通过创建更加以用户为中心的方法来设计和开发测试自动化脚本,用于增强基于云的自动化测试。设计思维有助于确保测试自动化脚本的设计方式,使其能够最大限度地提高其可用性和有效性。

它可通过考虑自动化测试过程本身的方法,用于增强基于云的自动化测试。设计思维也可用于提出改进测试用例、团队结构、资源分配和模块优先级的方法。 

5.黑白盒测试的设计思维

由于测试人员的知识水平不同,设计思维原则在白盒自动化测试和黑盒自动化测试中的应用也会不同。对于白盒测试,测试人员需要深入了解系统后再设计能够执行所有功能的测试。对于黑盒测试,测试人员只需要对系统有一个浅显的了解,就可以设计出以最终用户的角度来执行功能的测试。 

将设计思维应用于全球广域网(Web,World Wide Web,也称万维网)和移动应用程序的单元或集成测试,以确保测试的全面性。单元测试用于测试系统的各个组件,而集成测试用于测试组件之间的交互。这包括: 

  • 关注用户体验:测试人员在测试网站和移动应用程序时应始终牢记用户体验。这意味着要考虑诸如使用界面的难易程度、导航的直观程度以及整体体验是否令人愉快等因素。另一个必须考虑的关键数据点是特定用户集最有可能使用的设备类型。为了使测试环境真实,我们必须确保我们在与用户相似的设备和网络上进行测试。
  • 简单是关键:在测试方面,简单往往更好。这一原则既可以应用于测试本身的设计,也可以应用于测试的执行方式。在将新应用程序添加到堆栈中并且这些应用程序处于一直在更新新功能的环境中,很难保持简单性。这里的关键是,如果您从一个简单且足够有影响力的计划开始,那么您将能够处理后期扩展的相关复杂性问题。
  • 跳出框外思考:有时,问题的最佳解决方案并不是显而易见的。设计师应该对那些不会立即显现的创造性解决方案持开放态度。浏览器堆栈不仅提供了广泛的尖端工具堆栈,而且还为开发人员和技术领导提供资源和信息,以帮助他们建立更高级的测试策略。 
  • 迭代、迭代、迭代:测试是一个迭代过程,这意味着设计人员应该期望在此过程中进行升级和改进。并且,云平台的规模随着使用规模,具有可伸缩的理念,为具有成本效益的探索提供了最有利的环境。对于自动化测试而言,能够并行运行测试并通过可视化有效地监控它们是一个额外的优势。 
  • 保持新技术学习:新技术和方法不断涌现,因此设计师必须及时了解最新动态。实现这一目标的方法是构建一组工具,帮助设计团队成员在网站或移动应用程序上执行各种测试、验证或分析,而无需参与开发或质量保证的过程。 

将所有这些知识应用到实际的系统中,是一个多变量问题。可能有许多方法会在结果上取得的成功程度不同。但在不同的业务场景中,成功的定义本就会有所不同。因此,保持开放的心态并紧跟最新趋势是确保整个过程具有凝聚力的一种方式。

原文链接:

https://dzone.com/articles/design-thinking-in-software-testing

译者介绍

刘雨瑶,51CTO社区编辑,驱动开发工程师。关注领域包括效果算法、集成电路设计、驱动等。

责任编辑:薛彦泽 来源: 51CTO
相关推荐

2011-04-18 17:03:59

动态测试软件测试

2021-11-28 15:15:13

软件测试域测试开发

2021-12-09 09:00:00

软件测试负面测试指南

2023-02-09 16:48:12

软件开发测试结对测试

2011-04-18 12:52:37

自动化测试功能测试软件测试

2020-09-23 17:45:46

软件测试学习技术

2011-01-19 10:54:14

软件评测师

2012-03-13 09:04:31

开发软件测试

2010-11-11 09:40:34

BUG

2011-01-21 14:33:30

软件测试

2020-11-23 21:18:52

MindMaster

2019-08-27 09:34:29

数据科学统计机器学习

2011-04-18 10:46:39

接口测试

2015-10-27 16:15:15

数据中心设计新思维

2020-07-03 11:31:50

云计算测试云计算软件测试

2021-08-02 06:49:47

软件模式结构型

2023-01-04 10:24:42

2022-09-19 06:25:14

设计模式GoF

2022-08-26 08:18:04

软件开发高级系统设计低级系统设计

2010-06-08 13:29:29

UML技术
点赞
收藏

51CTO技术栈公众号