我如何让外部审计员相信自动化测试至少与手动测试一样有效?

软件测试 自动化测试
2022-02-04 13:57:16

我的公司不是一个反自动化的地方。事实上,他们雇用我的原因之一是引进一些测试自动化方面的专业知识。问题是公司当前的流程和程序目前没有内置任何东西来允许自动化工作。

我们服务的行业受到高度监管,因此需要非常严格的流程和程序以满足内部和外部审计的要求。自动化绝对是回归测试和为数据输入密集型任务提供测试的好工具。问题是审核员需要放心,我们正在考虑创建的自动化提供与手动测试相同的正确功能和安全性保证。

有没有人对这种受监管的行业有任何经验,并将自动验证和回归测试集成到流程中?如果是这样,我很想听听如何去做。

根据下面的评论进行编辑:就像澄清一样,我正在使用的自动化主要是自动化回归和功能测试,多次通过 UI 操作但不限于此。回归和功能测试也可能适用于 API 和 WSDL 的测试以及消息传递和通信协议的测试,所有这些都存在于我目前服务的受监管行业中。

4个回答

我认为您需要的答案可能是自动化的日志记录和审计。当自动化测试运行时,让它准确记录正在做什么、如何以及何时。这样,任何结果都可以在它发生时立即复制。

此外,你有发生的事情的记录,你可以用它来证明你的情况。“我们知道这些结果的自动化测试功能 A 和 B,因为它在此处和此处的日志中。”

然后,您可以决定手动审核 20% 的所有测试,手动重复它们,然后手动跟踪日志,并比较三个结果。努力首先审核最有问题的测试,以帮助您获得信心。

一个很好的次要优势是,当您运行回归测试时,您可以比较从构建到构建的整个运行,而不仅仅是结果。这将为您节省大量诊断时间,还有助于发现自动化本身的错误。

我在金融行业工作。我们公司也接受审计。审核员想知道您有一个记录在案的流程,并且他们想抽查您是否确实遵循了该流程。

在我看来,您好像需要一个书面的测试计划来描述您的每个自动化测试所涵盖的内容。该计划需要足够详细,以便如果审核员要求查看特定测试用例的代码,您可以快速将他们指向该代码。您还需要记录执行自动化测试的时间和发现的内容。当然,这也可以是自动化的,尽管如果您的公司现在没有手动进行所有操作,您可能可以从手动归档测试结果开始(例如,每个测试摘要都放在一个 HTML 文件中,文件存储在一个目录。)

我的大部分自动化工作都与影响投诉的应用程序无关,但是,当然可以使它对审计友好。

首先,开始使用 BDD 工具,例如 SpecFlow 或 StoryQ。许多场景将以这种方式记录。我对 SpecFlow 不熟悉,但是,使用 StoryQ,它会使写出自动化测试的工作变得更加容易。确保为每个关键测试制定故事/要求。我所说的批评是指那些将引起最多关注的人。这还将在生成的最终报告的每个步骤中提供通过/失败。

尽管我在每个测试中都推荐了故事/要求,但如果您不这样做,拥有方法的图表(不寒而栗)会有所帮助。审核员可能希望您引导他们完成测试。如果他们这样做了,这些图表可以帮助他们专注于他们想要查看的地方,并使您的审计体验变得不那么痛苦。

尽管这可能应该更绘制它,但它可能会帮助您找到一个起点。

根据 Rakesh 的评论进行编辑:我提到的两个工具都仅适用于 Windows。这里有一些其他可以使用的工具。 免责声明 - 我没有使用以下任何内容。

红宝石: Rspec

Java: JBehaveBDocInstinct

几乎所有可以在基于 Web 的应用程序上完成的手动测试都可以使用 Selenium 等工具自动化。如果您可以根据您的应用程序域自动执行一些重要的测试用例,这些测试用例将具有最高的严重性和优先级,并且如果生成了非常好的结果,那么可能必须做到这一点。

希望我的回答是正确的。