课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
如何提高软件编程开发效率和开发质量是每一个软件开发公司都在重点关注的一个问题,下面我们就通过案例分析来简单了解一下,高质量软件开发都有哪些影响。
如果属于一些特殊数据,特殊流程下触发的bug,不能认为全是测试的问题,开发也需要承担部分。可以具体分析下代码,是否属于那种开发人员容易意识到而“有意忽略”的问题。实际开发经验丰富的同学肯定容易理解,有些bug是,开发容易而且应该想到,而测试难以测出的。例如“并发减库存”这类问题,仅通过功能测试很难测出,在开发设计时,就应该进行考虑。
也有可能存在开发,测试都很无辜,需求背锅的情况,做出来的东西就不符合用户的实际需要。或者需求,测试一起背锅的情况,需求调整需要连带修改的需求,没有做出调整,测试也没有回归到。例如只考虑了新增输入校验,没有考虑编辑已有数据的校验等。
复盘的目的,主要应该不是为了追责。而是为了优化流程。弄清事情的发生原因后,应该建立对应的流程,机制,避免类似的事情重复发生。例如,用例的执行应该能追溯,测试开发能力不足的,要培训,要编写对应操作规范等,缺少评审的流程加入评审。
如果公司觉得此事暴露了软件质量的不足,期望改进开发质量,那么就要理解,软件的质量控制和软件测试,其实是不同范围的事情。质量改进包含的范围远大于软件测试,对这一点要在团队中进行宣贯,统一认识。
提高软件质量不等于提高测试质量,质量控制是一个贯穿开发流程始终的活动,需要团队的所有角色共同参与,为交付质量共同负责。
“准确”可以理解为要把你的需求描述清楚,条理清楚,避免歧义。实践中很多bug的产生,是因为开发人员遗漏一些细节需求导致的。这类bug的情况,通常功能较为细节,例如一些细节的校验,提示的文字,与同类功能的细小差异等。这类问题可以通过在需求编写形式上上,使用逐一列出,重点强调的方式会比把所有需求无差别写成一坨文字,降低发生的比率。歧义情况的出现,多是由于语言描述不严谨,不具体导致的,可以有意识多使用逻辑性描述,实践所占比例不高,适当注意即可。
“全面”实际是一个非常难以达成的要求,需要需求人员有较高的素质。这类问题造成的bug在运行维护多年,持续迭代的系统上暴露的非常多。抽象来说就是修改了某功能,要对应修改系统中对于此功能为有依赖的其他功能。对于陈年老系统,要考虑周全非常困难。简单的例子如,为了增强账号安全,增加了注册用户名的长度,也允许加入特殊符号。需求人员应该想到,此处修改除了影响用户注册页面的用户名输入框校验规则外,也同时需要修改,用户登录页面的用户名输入规则,如果有其他客户端如移动端,也需要同步修改,如果后台有用户管理,搜索,用户名搜索框允许输入内容可能也要同步修改。甚至要求高的UI界面,因为长度变化,可能会导致显示异常,也要一并考虑到。
而产品架构,则是更高层次的要求,要求需求人员对产品的功能,实体,概念,做恰当的抽象,并有一定前瞻性。产品架构其实是技术架构的基础,如果产品没有一个需求上的框架,那技术架构也是无法恰当提出的,随机应变会成为日常,修改成本会升高,稳定性会变差。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。