国建胜 张亚楠 张雪石
摘 要:随着技术发展,软件测试技术的不断提高,软件功能越来越多,随之出现的问题也越来越多,测试人员除了做整体系统测试之外,还需要对被测系统的质量有一个整体的把握。因此,文章开发了一款软件测试数据的收集分析与质量评价系统,旨在收集软件测试数据并进行数据分析和系统质量评价,帮助公司和测试人员从宏观上了解被测系统的质量并调整相应的测试方案。
关键词:软件测试;数据分析;系统质量
时代的发展和科技的不断进步,使得软件规模不断扩大,软件设计的复杂程度不断提高,软件开发中出现错误或者缺陷的概率越来越大。为了提高软件测试人员的工作效率和系统质量,我们开发了一款软件测试数据的收集分析与质量评价系统,通过获取网站或者系统中测试人员提交的测试结果数据,例如BUG严重程度、BUG类型等信息,加以分析和整理,最终以表格、直方图、饼状图等形式直观地将统计结果显现出来,以便公司和测试人员进行查看,并及时作出工作调整。软件测试数据的收集分析与质量评价系统适用于大多数软件开发公司。
1 系统整体设计
软件测试数据的收集分析与系统质量评价系统采用模块化的设计理念,分为数据采集、综合数据统计、项目统计查询、软件质量关键绩效指标(Key Performance Indicator,KPI)统计、个人工作量统计5个模块,其工作原理为用python编写的程序从测试人员提交问题数据的网站上下载所需的数据并存入数据库,然后从数据库中抽取所需要统计的数据,通过分析整理,以直观的形式显示出来[1]。系统模块结构如图1所示。
2 系统介绍
2.1 数据采集
数据采集模块采用python语言开发,利用聚焦网络爬虫和增量式网络爬虫技术编写爬虫程序,HTML下载器和HTML解析器用来下载网页和解析HTML,程序从网站或系统中读取URL并下载网页,通过CSS元素识别、关键字等方式解析出测试人员提交的缺陷和执行用例等所需的数据,然后存储到数据库中。采集模块中还包括数据存储器子模块用来将存储的数据输出为指定的文件格式,这里将数据输出为HTML格式,爬虫调度器子模块用来协调管理URL管理器,HTML下载器,HTML解析器和数据存储器等模块,按照运行流程控制各个模块的工作。
其他统计数据模块可以从数据库中提取所需数据,进行分析和计算,总结出各自模块的功能。
2.2 综合数据统计
综合统计数据模块首先从数据庫中获取数据,通过分析计算,得出缺陷总数,执行用例总数和项目总数;其次,以曲线图的形式直观地显示出每月测试成本,包括功能测试、性能测试和安全测试;最后以表格的形式对进行中的项目数据进行展示,表格内容包括项目名称、项目负责人、报价、总问题数、未解决问题数、项目状态。每部分都直观清晰、界面友好,给用户最直接和便捷的方式来查看数据信息[2]。
2.3 项目统计查询
项目统计查询模块按照年份、季度、月份对项目进行不同纬度的查询,统计的结果有项目类型占比,此项详细地展示了每个项目类型的比例;问题等级占比,分为核心、严重、一般和轻微4个等级,以饼状图的形式直观地展示了每个等级的占比和对应的问题数量。情况如图2所示。
2.4 质量KPI统计
软件测试数据的收集分析与质量评价系统统计软件质量的KPI包括需求满足度、缺陷关闭率、缺陷关闭周期、项目平均缺陷发现数、软件一次检测通过率等信息。需求满足度从客户的角度,依据客户需求或者通用协议、系统需求规格书、系统方案、软件需求规格书4个方面来进行评估。
缺陷关闭率=当月关闭的缺陷数/当月计划关闭的软件缺陷数
缺陷关闭周期分为严重缺陷关闭周期和一般缺陷关闭周期,计算公式如下。
缺陷关闭周期=AVG(实际缺陷关闭时间-缺陷发现时间)(天)
平均项目缺陷数分为平均项目严重缺陷数和平均项目一般缺陷数,平均项目缺陷数计算公式如下。
平均项目缺陷数=当月发现的缺陷数/当月检测的项目数
软件一次检测通过率=一次检测通过的软件数/提交的软件项目数
生产及市场反馈软件缺陷数为当月生产或市场反馈回来的软件质量问题数。
2.5 个人工作量统计
个人工作量统计模块按照年月的方式查询员工的工作量。以表格的形式展示出员工的姓名、编写用例数、执行用例数、发布问题数等信息,管理人员可以直观地查看每位员工的月度和年度工作情况,统计个人实际工作量作为人员绩效考核的参考[3]。
3 结语
综上所述,技术的发展使得软件系统越来越复杂,出现问题的概率也越来越大,软件测试数据的收集分析与质量评价系统旨在从系统或网站上收集测试人员提交的结果数据,存入数据库,再从数据库中提取相应的数据进行相应的分析总结和计算,将统计结果详细地呈现在每个模块中。同时还统计了每个测试人员的实际工作量工作情况,使得测试管理人员了解整体项目的测试情况和每位员工的工作情况,从中发现问题并及时调整,有利于公司对测试部门合理地进行工作安排。
[参考文献]
[1]吕金和.嵌入式软件测试[J].软件导刊,2010(9):40-41.
[2]易敏捷.软件测试国内外发展现状及趋势研究[J].电脑知识与技术,2013(26):6020-6022.
[3]李明泽.浅谈软件自动化测试技术[J].科教导刊,2016(31):171-172.