无论你是软件测试领域的新手,还是想要转行从事测试工作,或者你是一名经验丰富的软件测试专业人士,但仍然想要了解自己是否具备了所有优秀软件测试人员应具备的品质。如果你属于以上三种情况之一,那么你来对地方了。
大家好!我是一名软件测试专业人员,拥有处理大数据、机器学习、电子商务和教育领域复杂项目的经验。通过多年的不同形式的测试经验,今天整理了一份软件测试人员必备的10个品质清单。那么,开始吧。
1. 对客户或最终用户怀有同理心
我认为,测试人员必须具备的首要品质是与客户、用户或最终用户怀有同理心。同理心意味着,测试人员应该设身处地地站在应用的最终用户的角度思考问题。
与其关注“将要开发什么”,测试人员应该关注“如何使用”的问题。你应该始终以应用的使用为大局。谁会使用它?他们将如何使用它?最终用户的技术专长是什么?这个应用真的用户友好吗?作为质量保证人员,你应该始终将这些问题牢记于心。
2. 做一个彻底的悲观主义者
这可能会让你感到惊讶,但请相信我,这是测试人员应该具备的最重要的品质之一。
为了创建强大且高质量的软件,作为测试人员,你应该仔细审查每一个设计、每一个流程和每一个可能的输入数据处理。始终相信墨菲定律:“任何可能出错的事情终将出错”。
3. 了解领域知识
许多行业的项目,如银行、人寿保险、电子商务等,只会考虑具备领域知识的测试人员,或者优先考虑他们。熟悉应用领域知识对测试非常有帮助。如果你对领域了解深入,你就会对应用和客户有更深刻的了解。这反过来有助于我们之前讨论的第一个品质——与客户产生共鸣。
4. 具备技术专长
一个优秀的测试人员应该具备良好的技术专长,这并不仅限于测试自动化、性能测试和安全测试专业人员。那些从事黑盒测试或功能测试的人员也必须具备良好的技术技能。
要了解为什么这个品质很重要,试着回答这个问题:“哪个测试人员更有可能交付更高质量的应用程序或发现更多的缺陷?一个具备数据库专业知识的人,可以检查不同字段的数据类型,还可以检查字段的长度限制和表之间的不同关系。还是一个对数据库不了解的人?当然是具备数据库专业知识的人。
数据库知识只是其中的一项技能。如果你了解Selenium等自动化工具,了解API、客户端-服务器架构、网络等任何其他技术技能,你将比其他人更具优势。
5. 注重细节
注重细节有助于我们发现通常因为疏忽而被忽视的问题。因为每个人都可以找到明显的问题,但需要有“鹰眼”才能找到那些可能并不明显的问题。
6. 将应用程序的每个方面推向极致
你听说过压力测试、尖峰测试、负载测试、猴子测试吗?这些测试类型的共同之处在于它们将应用程序推向极限。无论是在负载方面、突然增加用户数量方面,还是在处理大文件或胡乱使用方面。具备这种品质的测试人员可以找到应用程序中其他难以在正常应用流程中找到的瓶颈。
7. 不要假设或视为理所当然
这是我们在积累更多经验时往往会失去的品质之一。记住,当我们刚开始工作时,我们会非常细心地阅读每一样东西,遵循每一项指示。无论是测试用例步骤、测试数据还是其他任何指示。
但是随着我们的成长,我们往往会习惯于把事情当作理所当然。或者我们下意识地假设事情。作为软件测试人员,我们不应该假设任何事情。在测试方面,我们不应该对任何测试用例的流程或数据视为理所当然。因此,即使是一个非常明显的测试用例,比如使用输入数据1+1测试一个计算器,我们仍然应该以最高的注意力进行测试。
8. 不断努力学习新技能
每个新项目都要求测试人员获得一些领域知识或技术专长。除此之外,还有一些项目涉及不同的文化、语言或地理位置。一个有积极学习新事物愿望的测试人员可以相当快地适应这些要求。
9. 良好的人际交往能力
作为测试人员,我们必须与项目的不同利益相关者——开发人员、项目经理、客户代表和业务分析师打交道。具备良好人际交往能力使你成为一个出色的团队合作者。此外,你也会成为其他人可以依赖的资源,用来保证软件质量。
10. 良好的沟通技巧
最后但同样重要的是,良好的沟通技巧在需求收集阶段非常有帮助。向客户提出明确简洁的问题有助于避免需求上的任何差距。此外,具备良好沟通技巧的测试人员可以以易于理解的方式向开发人员阐述缺陷和场景。从而带来与开发团队更好、更高效的合作。
结论
根据我的经验,这些是我认为每个测试人员都应该具备的一些品质。根据测试人员的级别或职称以及项目类型,还可能存在其他几个品质。例如,对于高级测试人员来说,具备领导能力。或者,在敏捷项目中能够快速适应需求变化的能力等等。
欢迎在评论中告诉我你认为测试人员的顶级品质是什么。