软件测试 - 审计
整个软件开发是一个详尽的过程,它涉及到完整软件的开发、测试和质量提升。为了实现这一点,需要定期进行审计,以了解软件的整体健康状况。
什么是软件审计?
软件审计是指对软件进行详细分析,以评估其进展、质量、法规和标准。它主要检查软件的适用性,并检查其所有方面是否按计划进行。
软件审计由外部或内部团队进行。如果由外部团队进行,则需要专门的预算和时间来完成流程。这可能会导致软件开发的整体延迟。
定期进行内部审计是一个好习惯,以确保软件符合所有法规、指南、许可证、标准等,以便组织将来不会因违反这些规定而面临任何法律罚款。
软件审计的好处
软件审计的好处如下所示:
- 它有助于验证测试过程并建议简化方法。
- 它识别出软件中开发的功能与需求之间的偏差。业务分析师和开发团队之间可能存在沟通差距,这可能会导致软件中的错误。审计有助于识别此类情况。
- 它确认软件的开发是否符合指南、清单、标准等。它还检测所有可能的风险并建议减轻风险的方法。
- 如果在任何过程中观察到任何重大偏差,则会提供适当的反馈以进行改进。
软件审计的目标
进行软件审计的目的是根据合规性标准、指南、计划和程序,对软件产品和流程进行独立评估。
正式审计的角色和职责
- 经理 - 经理决定需要审查的内容,并确保项目计划中为所有必要的审查活动分配了足够的时间。经理通常不参与实际的审查过程。
- 主持人 - 主持人,也称为首席审查员,审查文档集。主持人将最终决定是否发布更新的文档。
- 作者 - 作者是编写者,负责开发要审查的文档。作者还负责修复任何已商定的缺陷。
- 记录员/记录员 - 记录员出席审查会议并记录会议期间发现的所有问题/缺陷/问题和未决事项。
不同类型的软件审计
不同类型的软件审计如下所示:
内部审计
它是在组织内部进行的。
外部审计
它是在组织外部进行的。
合规性审计
它用于验证所有遵循的流程是否符合标准和规范。如果测试过程需要遵循其他指南、标准和合规性,则此类审计也会处理这些内容。
流程改进
这是为了检查所有现有的流程,并发现其中的问题。如果在任何阶段发现问题,则会建议改进。
根本原因分析
这是通过应用各种测试技术来识别问题根本原因。它针对需要额外审查并需要修复的特定问题进行。
软件审计期间使用的不同指标
软件审计期间使用的不同指标如下所示:
项目指标
它用于使用以下公式计算测试用例执行百分比:
% of test execution = (Total count of passed test cases + Total count of failed test cases + Total count of blocked test cases)/ Total count of test cases.
产品指标
它用于使用以下公式计算各种参数:
% of critical bugs = Total count of critical bugs/ Total count of bugs.
上述公式有助于确定软件的现有质量。
Bug Distribution across modules = Total count of defects/ Total Functional areas.
上述公式有助于确定软件中容易出现错误的模块,而不是其他模块。自然,在测试时应更多地关注这些模块。
错误优先级分布用于衡量整个测试过程的效率。与其他模块相比,优先级较高的错误所在的模块需要首先进行测试。
人员指标
它用于计算以下列出的项目:
- 每个测试人员报告的缺陷数 - 它用于计算每个测试人员报告的缺陷数量及其类别,例如它们是回归缺陷还是新缺陷。
- 各个测试人员执行的测试用例数 - 它用于了解各个测试人员的整体绩效。
如何执行软件审计?
软件审计是通过以下列出的步骤执行的:
- 明确提出审计的目标及其目的。通过明确说明问题陈述,我们可以最大程度地利用审计,并解决大多数问题。
- 分析完整的测试方法,并评估它是否按照开始流程之前商定的计划和指南进行。
- 完成整个软件的测试后,所有测试工件(即测试计划、测试场景、测试用例、测试执行报告、缺陷、测试覆盖率、可追溯性矩阵等)都将成为审查的一部分。
- 在测试过程的各个阶段与不同的利益相关者和团队成员沟通,了解整体进度,也是审查工作的一部分。
结论
至此,我们完成了关于软件审计教程的全面概述。我们从描述什么是软件审计、软件审计的益处、软件审计的不同类型、软件审计中使用的不同指标以及如何执行软件审计开始。这为您提供了对软件审计的深入了解。建议您不断练习所学知识,并探索与软件测试相关的其他内容,以加深理解并拓宽视野。