1.5 测试中的基本技能和良好实践
技能是指个人根据自身的知识、实践和才能做好某件事的能力。好的测试人员应该具备一些基本技能才能把他们的工作做好。好的测试人员应该是有效的团队合作者,并且能够在不同测试独立性级别上开展测试工作。
1.5.1 测试所需的通用技能
以下虽然是些通用的技能,但它们对测试人员来说尤其有意义:
• 测试知识(例如,通过使用测试技术 高测试的有效性)。
• 全面、细致、好奇心、注重细节、有条不紊(对识别缺陷,尤其对于发现难以发现的缺陷)。
• 良好的沟通技巧、积极的倾听、具有团队合作精神(与所有利益相关方有效互动,以可理解的方式向他人传递信息,并报告和讨论缺陷)。
• 分析性思维、批判性思维、创造力(用以提高测试的有效性)。
• 技术知识( 高测试效率,例如使用适当的测试工具)。
• 领域知识(能够理解并与最终用户/业务代表沟通)。
沟通技巧对于测试人员来说至关重要。应以建设性的方式沟通有关缺陷和失效的信息。
1.5.2 完整团队方法
能够在团队环境中有效地工作并积极为团队目标做出贡献,是测试人员重要的技能。完整团队方法基于这项技能构建。
在完整团队方法中,所有团队成员都具有进行各种类型任务的知识和能力,并且每个人都要对质量负责。团队成员共享相同的工作空间(物理或虚拟),共址工作有助于沟通和互动。完整团队方法可提升团队活力,增强团队内部的沟通和协作,并通过充分利用团队内不同的技能,产生协同效应,从而使项目获益。
为确保达到期望的质量水平,测试人员要与团队其他成员密切合作。这些合作包括:与业务代表协作,帮助他们创建适合的验收测试;与开发人员协作,达成测试策略和测试自动化方法的共识。测试人员能够向团队其他成员传授测试知识,从而影响产品的开发。
由于对周境的依赖,完整团队方法可能并不总是适用。例如,在某些状况下,如安全关键系统,可能需要更高水平的测试独立性。
1.5.3 测试独立性
因为作者和测试人员之间存在认知偏差(cognitive biases),因此一定程度的独立性可以使测试人员更有效地发现缺陷。然而,独立性并不能取代熟悉性,例如,开发人员可以高效地发现自己代码中的许多缺陷。
开发人员进行组件测试和组件集成测试,测试团队进行系统测试和系统集成测试,业务代表进行验收测试。
测试独立性的主要优势在于,独立的测试人员与开发人员相比,由于背景、技术视角、以及认知偏向的差异,更可能识别出不同类型的失效和缺陷。可以验证、质疑或推翻利益相关方在系统规格说明和系统实施期间所做的假设。
测试独立性也存在一些缺点。独立的测试人员可能与开发团队脱离,可能导致缺乏协作、沟通出现问题或与开发团队形成对立关系。开发人员可能会丧失对质量的责任感。独立测试人员可能被视为瓶颈,或被指责为发布延迟负有责任。
原创文章,作者:iTestCat,保留所有权利,禁止转载,如若转载,请联系作者!