缺陷对软件项目的影响不言而喻,如果不重视缺陷的探测率和移除率,往往会对软件产品产生不可估量的破坏性影响,直接影响项目进度甚至项目交付。
因此我们需要高效提高软件缺陷探测率,一般来说有以下5个方面需要重点关注:
1、80/20法则
80/20法则,揭示了80%的成果源自仅仅20%的行动,体现了投入与产出不平衡的“普遍真理”。
而80/20法则适用于软件测试情景是:
80%的软件缺陷存在于20%的软件代码中(软件缺陷的“群集”现象);
80%的软件缺陷归因于20%的软件缺陷原因(软件缺陷的“群集”现象);
在分析、设计、实现阶段的复审和测试工作只能够发现和避免80%的软件缺陷,而系统测试也只能找出其余Bug中的80%;
程序中存在错误的概率与该程序中已发现的错误数成比例。因此我们需关注测试中的群集现象,关注发现缺陷较多的代码,有利于我们有针对性发现缺陷,做到事半功倍。
2、不同角度全面测试
我们可以通过不同角度进行全面测试,从而快速提高软件缺陷探测率。
从管理层角度,了解被测产品在众多产品中的优先级,做到软件测试的有效性,确保软件缺陷有效性。
从开发人员角度,获知开发人员认为软件产品中那些模块开发难度大,缺乏信心,从而快速定位我们的测试重点。
从最终客户角度,尽可能从他们的使用习惯和可能的问题出发,也就是用户体验出发,找出尽可能多的软件缺陷。
3、熟悉并测试整个业务流程
在测试的过程中最好是能自己执行测试完一个整个业务流程,并尽快熟悉软件业务。从软件核心业务角度,由核心业务为重点,向业务中涉及的功能点辐射,从局部到全局,再从全局到局部。
比如一个软件产品的某个模块功能:“点击商品—收藏商品—加入购物车—订单结算—付款—消费二维码—消费—二维码失效”,需要执行测试完整个业务流程。
4、保持怀疑心态
在测试中,我们需要保持怀疑心态,抱着怀疑的眼光去验证,怀疑软件中一切可能存在影响软件操作的行为。
我们需有逆推心理,越是不可能有缺陷的地方,越有可能有缺陷。一个水平很高的程序员编写的程序,不要有“他写的这个程序应该没有问题吧”这种想法,因为这样会导致疏忽遗漏软件中的一些潜藏的Bug。
5、充分使用工具提高效率
为了提高测试效率,CoCode开发云使用AI,将用户需求一键自动生成正向反向多维度测试用例,提高用例覆盖度,保障测试质量,减轻测试人员工作量,提高20%-30%工作效率。
而CoCode开发云需求管理,通过需求条目化和自动分解子需求功能,将用户需求一键自动生成标准用户故事,并自动导入需求。需求分析工具使用AI,通过需求测试和一致性检测,能够在几分钟内快速分析用户需求缺陷,如歧义、重复、遗漏、不一致和复杂性等问题,精准锁定需求问题,从而更高效地修改缺陷,提高用户需求质量。
CoCode评审分析工具,使用AI,通过缺陷移除率评估评审效果,尽早发现所有缺陷,降低返工成本和时间,节省17-20%的开发成本。
目前CoCode发布一系列AI开发工具:Co-Project智能项目管理工具(需求条目化、自动分解子需求、自动生成测试用例)、需求分析工具、评审分析工具、故事点估算工具。其中Co-Project项目管理平台发布4大版本,30天免费试用;并发布一系列CMMI高效落地工具,实现CMMI标准过程全覆盖,全面支持CMMI3-5级落地。