[发明专利]通过不一致处置检测的软件测试保证在审
申请号: | 201980063816.X | 申请日: | 2019-06-26 |
公开(公告)号: | CN112771505A | 公开(公告)日: | 2021-05-07 |
发明(设计)人: | M·K·加亚斯沃 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 黄倩 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通过 不一致 处置 检测 软件 测试 保证 | ||
描述了检测开发中的软件的自动化测试中可能的漏洞的工具和方法。测试的完全行覆盖不一定指示执行场景的实际覆盖,例如,即使当所有源代码语句名义上被覆盖时,条件覆盖、决策覆盖、以及其他种类的执行场景覆盖也可以是缺乏的。当源代码改变被提交、并且对应的测试集保持未改变时,用户被通知充分的测试未由当前测试集保证。开发工具链中的测试保证代码可以标示拉取请求、测试集、或者源代码提交,以指示测试保证的缺乏。在一些情况下,例如,保证增强的工具可以要求新的测试或者不同的测试与已更新的源代码一起被提供,作为该源代码被接受以供包括在存储库或者构建中的先决条件。
背景技术
通过向计算机程序馈送输入值、并且将产生的行为和输出与所预期的相比较,该计算机程序可以被测试。然而,除了最简单的程序以外,其他任何程序的测试都可能是不完整的,因为在测试期间,程序的可能行为的许多方面未被行使。例如,许多程序可以被给予极大数目的不同输入值。程序可能从可能输入的集合中接受电子邮件地址、电话号码或其他输入,这些输入既包括任意大数目的有效值,又包括任意大数目的无效值。而且,程序在执行期间可能采取的不同路径的数目可以是巨大的。如果给定程序包含具有对应的决策条件的二十个决策点,在这些决策点处如果条件为真则执行跟随一个分支,并且当条件为假时则执行跟随另一分支,然后存在通过该程序的超过一百万个不同的路径。广泛可用的软件应用可以具有数千个这样的决策点,而不仅是二十个,并且通过应用程序代码的路径数目也相应地增加。
计算机程序可以由向程序馈送输入值的人员手动测试,但是现在许多程序至少部分地通过自动化测试而被测试。测试自动化工具向被测试程序馈送输入,并且针对测试套件中所指定的标准自动地检查产生的行为和输出。自动化测试使更彻底地并且以更一致的方式测试程序成为可能。但是,即使利用自动化测试,程序的一些方面未被行使、或者不然以某种方式未完全被测试也可能发生。例如,甚至自动化测试也不能向程序输入每个可能的电子邮件地址、电话号码或者其他输入来检查程序针对每个输入是否表现正确。而且,对于大多数(如果不是全部)商业程序,对程序的测试的自动化不会固有地提供将是执行每个单个路径所需要的计算资源,每个单个路径可以通过程序而被采用,因此许多路径未被测试。
发明内容
本文的一些教导由结合存储库拉取(pull)请求来确保代码质量的最初技术挑战激发。一种新兴的技术挑战是如何改进自动化测试覆盖。在该上下文中,发明人断定现有方法可能错误地假设代码覆盖等于测试覆盖,并且标识了如何有用地利用测试套件来协调源代码变化的技术挑战。通过下面所提供的讨论,由此处所教导的创新解决的其他技术挑战对技术人员将是明显的。
一些实施例提供软件测试保证(assurance)技术,即,通过自动化测试来增强或提供关于软件覆盖的性质或程度的保证的技术。这些软件测试保证实施例中的一些软件测试保证实施例包括处理器、可操作地与处理器通信的存储器、以及保证代码。在利用处理器执行后,保证代码接收此处被表示为“S-当前”(S-current)的代码更新提交。该提交“S-当前”包括此处被表示为“P-当前”(P-current)的部分,“P-当前”包括对源代码的更新。保证代码确定部分“P-当前”至少部分地由测试套件的测试集(此处表示为“TS-当前”(TS-current))覆盖。保证代码查明(ascertain)测试集“TS-当前”是否与测试集“TS-在前”(TS-prior)不同,测试集“TS-在前”至少部分地覆盖代码更新提交“S-在前”(S-prior)的部分“P-在前”(P-prior)。在该示例中,“S-在前”比“S-当前”旧,并且“P-当前”更新“P-在前”。当该查明(ascertaining)查明了“TS-当前”没有与“TS-在前”不同时,保证代码基于“TS-当前”测试集来标示至少一个项以指示针对“P-当前”更新的测试保证的缺乏。即,保证代码设定(raise)以下至少一项的标记(flag):“S-当前”、“P-当前”或“TS-当前”。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980063816.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:氧化镓基板研磨用组合物
- 下一篇:信息处理设备、信息处理方法和程序