For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
软件开发与软件测试一直都是软件开发领域非常重要的两个组成环节,而本文我们就简单来了解一下,软件开发人员与软件测试人员工作区别。
开发人员主要是要强调自测,对自己的交付物负责。实践中,开发人员常反怼说,我们又不是测试,我们都测了要测试干啥。因此也确实涉及到一个度的问题。实践中一个基本的要求是,对于需求对应的正向用例应该自测到,通俗说就是需求明确提到的功能开发自测应该覆盖。例如“新增的用户,点击用户名称,能够显示用户详情",开发人员至少要保证自测下,新增一个用户,点击其用户名,显示详情这个流程。如果没有问题算通过。而测试人员则要考虑的更多。例如编辑的用户,导入的用户能不能正常显示?有特殊边界输入的,选填项不填的,显示是不是正常。
情况往往也不会这么简单,现代系统通常分工比较细,一个功能通常由几个开发人员合作完成,他们之前通常通过接口定义来衔接,也就是各自按约定的接口协议,实现功能即可。这种情况下,除了要求按照接口自测外,还要要求,这几个人中指定一个人负责串联的测试,保证功能正确。因为实践中接口难以定义的事无巨细。这里的接口可能是前后台间的http接口,也可能是基于数据库表的接口(一个存,一个取)。如一个负责用户存的开发只验证了用户信息有没有写入数据库表。另外一个负责展示的开发人员只验证了,自己在数据库手动填写的数据,能不能正常的被读取显示到页面上。如果没人负责串联验证下这个过程,那接口对接环节的bug就无法发现,例如,存取的字段不对应,空值的表示不一致null与""等。
开发人员自测确实可以更早的发现bug,降低bug修改的成本,不需要经过,“测试提”,"开发查","开发改","测试验"的过程。但觉得这只是开发自测收益中较小的一面,更大的收益在于,提高开发人员的质量意识,不是功能写完就算是开发完。通过结合其他追溯机制,可以推动开发人员,使用更合理的设计,主动进行重构优化。
测试人员在很多人的观念里,是天然的负责软件交付质量的人员,其质量责任主要就是做“好测试”。做好测试,无非依赖于,扎实的软件测试理论基础,和对系统业务的充分理解。测试理论属于通用技能,只能通过学习思考,积累提高。而对系统业务的充分理解,对测试人员的稳定性是有一定要求的。如果你们公司的测试人员是共享资源性质的,那应该尽量让他们稳定服务于,1个或几个项目。尤其对于长期迭代,周期较长的项目,人员稳定性非常重要,切换成本高昂。
质量控制是测试工作的超集,因此提高软件质量,也要求测试人员额外承担一部分质量分析统计工作。因为Bug直接由测试人员记录产生,由其来进行这类工作更为直接。常见的统计指标如,
用例通过率,重激活Bug数,需求问题Bug数,未自测Bug数,遗漏需求Bug数,生产发现Bug数。
都是开发质量的评价依据,是复盘优化的基础数据。测试人员在测试工作中,或者生产环境支持过程中,在bug管理管理工具中,应对bug类型,进行识别归类,用于日后统计分析。