随着银行业务的快速发展、新兴互联网金融业态的兴起,科技信息软件的更新迭代速度日新月异,用户对软件质量、用户体验也有了更高的要求,而规范、有效的测试是保证软件质量的重要环节。软件质量的提升,首先是要形成一套行之有效的测试体系,但光有体系远远不够,还需要具备相关技能的人员来执行、落实体系。
一、现状
目前,大部分银行均组建了专业的测试队伍(包括功能、性能、自动化、数据类测试等多个领域),但因人员有限,有的做纯粹的管理,有的既做管理又承接部分项目测试工作,主要的系统测试工作由弱矩阵团队完成。这种临时组成的测试团队,由于未经团队能力整合和专业的测试技能训练,给项目经理的过程和风险管理增加了难度,对项目的质量也造成一定影响。如何让非专业人员快速具备基础的测试技能、掌握基本的测试方法,从而提升软件质量,成为一个亟待解决的问题。
二、给测试新人的建议
(一)转换角色,改变视角
我们操作软件的大多数时候是扮演软件定义的普通用户角色,按照软件预设的功能、流程去使用它。但作为一个测试人员,我们不仅仅是普通用户,测试人员需要扮演各种角色。
1、假设自己是前台用户、后台管理员,甚至是系统维护人员等等,需要把各种角色、不同权限的用户会使用到的功能全部试用一遍(专业术语称之为"正用例")。
2、假设自己是对系统一知半解的用户,尝试用户可能进行的各种异常操作是否会被软件正确拦截(专业术语称之为"反用例"),如:报错是否友好,提示是否具有引导性、无歧义。
3、假设自己是不同属性(国籍、年龄、职业、知识水平等等)的用户,检查软件对不同属性的用户支持是否良好(专业术语称之为"国际化测试"、"体验测试"等),如:字体是否够大,便于视力障碍者阅读,是否支持多语言,不会对其他国籍的用户造成使用障碍。
(二)掌握方法,训练"测试思维"
测试用例设计有多种方法论,如:边界值、等价类、场景法、正交分解法等等,具体在本文不进行详谈,有兴趣的人可以去百度。不管是什么样的方法论,究其根本,就是测试的思维方式,作为一名的测试人员,应当具备什么样的思维。
1、整体性思维,能看到整个系统、关注全局,不局限于自己所负责的那一小块内容。如:测试参数维护交易,不能只关注参数能否正确增、删、改、查,还应当关注调用到这些参数的交易,能否正确的工作,参数的变化是否生效(具体的业务如:柜面的利率产品维护、信贷管理系统的评分授信参数维护等)。
2、试错思维,在测试工作中脑袋里时刻有根弦,用怀疑的眼光来看待软件,避免自己陷入条条框框,测试过程中放不开手脚。如:一个输入框,需求约定输入框只能输入大于0、小于等于50000的数值型数据,并对非法的数据进行提示。测试中除了关注约定的数据可被正确提交,还应当关注范围外的数据是否会被拒绝,尝试字母、特殊符号、边界值(-1、50000.01)等能否被提交,甚至可以尝试拔出网线,检查是否能正确提示。
(三)多参与"众测",在实践中提升
"众测",即在系统上线前,依托专业平台或内部自行组织的一种测试方式。以"百度众测"为例,"百度众测"隶属百度质量部,在百度众测,用户可以第一时间体验百度的产品,提交体验结果,让百度产品凝结大家的智慧,以及学习、分享测试方法和测试技巧,并通过测试社区与成百上千的优秀测试者沟通交流,分享测试心得,通过百度测试平台的评价系统能够检验自己的测试水平并获得与自己能力相应的肯定与声誉。
再如微软的Dogfood,微软针对他们的每一款产品,都会进行严格的"Dogfood"测试。微软借用这种工作方式,在每一种产品完成之前,内部的员工必须先进行试用,这样就等于有几万名的测试人员在测试软件。Dogfood的目的不仅仅是为了找到Bug,还有一个作用就是帮助改进界面、操作的设计。通过参与"众测",将理论与实践结合,提升自己的测试能力。目前可自主报名成为测试工程师的有诸如:百度MTC等。
(四)勤于沟通,取长补短
遇到测试的问题,多请教测试组长、项目组中的业务专家、开发人员等。通过沟通,提高自己对系统的认知,沟通的另一个作用可以与项目干系人建立良好的关系,便于后续工作的开展。
三、测试开始前的准备
(一)掌握工具
熟练掌握测试工具,学会在工具上执行用例、提交缺陷、跟踪及验证缺陷。使用工具有如下好处:首先是让测试过程可视化,工具会自动记录每个人的执行过程,管理人员通过工具可以及时发现测试中的不足、风险,及时介入测试管理;其次是沉淀测试资产,通过平台管理的测试用例、典型缺陷,都可以成为其他项目借鉴参考的内容,让其他项目引以为鉴,少走弯路;再次是便于缺陷的跟踪、处理,避免反馈的软件问题无记录、无跟踪。
(二)熟悉需求
业务需求是测试的重要依据,熟悉需求是做好测试的前提。测试人员可以借助思维导图等工具对需求进行详细的分解、梳理,对需求中有疑问的地方,及时与项目的业务代表进行确认。对需求的熟悉程度,要达到以下目标:1、对项目的需求能整体把握,了解各功能交易之间的业务逻辑关系,这是形成整体性思维的前提条件;2、对所负责测试的功能需求了如指掌,能在脑海里构建出系统的雏形,提出建设性的意见。
四、测试执行中的注意
(一)充分运用自己的业务经验
如果你从事过银行柜员、客户经理等岗位,不要浪费你的业务经验,要敢于把自己可能进行的各种操作,运用到测试中,大胆地尝试业务操作中各种可能出现的情况,尽量地暴露系统问题。
(二)充分运用自己的技术能力
如果你对技术有一定的了解,要敢于质疑软件的设计是否合理、完备。必要时可以申请源代码进行白盒测试,访问测试环境的数据库检查数据处理的正确性。
(三)把自己的感受表达出来
敢于把自己对软件的感受表达出来,对软件使用不便利、用户体验不好的地方,大胆地提出建议,帮助改进软件质量。
(四)借助已有的资料库学习
测试中有时需要造数或做复杂的交易,这时可能遇到自己从没做过的业务,可通过学习资料库查找、调阅相关操作说明,参照相关步骤进行学习、操作。
(五)多问为什么,与业务、开发多沟通
项目建设离不开沟通,软件测试更离不开沟通。做一个勤于沟通的测试人员,及时地跟进需求变更,调整测试内容和策略;及时地发现软件改动点,进行关联功能的回归测试。
总之,软件质量的提高离不开人员技能提升,通过提升测试人员自身水平,促进整个组织测试水平的提高,从而提升项目的整体质量,是测试管理的最终目的.
以上是关于软件测试的知识,由多测师亲自撰写,全网独家提供!
发表评论 取消回复