软件缺陷验证制造技术

技术编号:10812652 阅读:87 留言:0更新日期:2014-12-24 17:37
本发明专利技术公开了软件缺陷验证。示例性方法包括利用处理器访问表示要在执行要被测试的软件应用时被执行的一组动作的脚本,该组动作与所报告缺陷相关联;执行计算机上的要被测试的软件应用;以及利用处理器经由要被测试的应用执行脚本中的该组动作以尝试重新产生所报告缺陷。

【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】本专利技术公开了软件缺陷验证。示例性方法包括利用处理器访问表示要在执行要被测试的软件应用时被执行的一组动作的脚本,该组动作与所报告缺陷相关联;执行计算机上的要被测试的软件应用;以及利用处理器经由要被测试的应用执行脚本中的该组动作以尝试重新产生所报告缺陷。【专利说明】软件缺陷验证
技术介绍
软件测试是软件应用开发的通用部分。软件测试包括以可能预期终端用户与软件进行交互的方式与软件进行交互。当发现软件中的缺陷(或错误)时,对软件进行定义的底层计算机代码被修改以校正这些缺陷。 【专利附图】【附图说明】 图1是根据本公开的教导而构造的示例性软件开发系统的框图。 图2是可以被用来实现图1的软件测试器的示例性软件测试器的框图。 图3是可以被用来实现图1的软件测试器的另一示例性软件测试器的框图。 图4A-4E图示了根据本公开的教导的监视对软件应用进行测试期间的用户交互时的软件开发系统的示例性用户界面。 图5A-5D图示了根据本公开的教导的验证所报告缺陷已经被修正时的软件开发系统的示例性用户界面。 图6是表示当被执行时使得处理器报告测试下软件应用中的缺陷的示例性机器可读指令的流程图。 图7是表示当被执行时使得处理器尝试重新产生测试下软件应用中的所报告缺陷的示例性机器可读指令的流程图。 图8是表示当被执行时使得处理器尝试重新产生测试下软件应用中的所报告缺陷并且验证所报告缺陷是否继续存在于该软件应用中的示例性机器可读指令的流程图。 图9是能够执行图6-8的指令以实现图1、2和/或3的软件测试器的示例性处理器平台的框图。 【具体实施方式】 在现代软件开发中,软件应用开发者(本文也被简称为开发者)生成代码来实现软件应用。如软件开发中常见的那样,软件经常初始包含使得软件的行为偏离所期望或意图的行为的缺陷(或错误)。在开发者已经写出了所有或部分的软件代码之后,软件代码可以被发送至软件测试者(例如,质量保证工程师)以供测试。例如,软件测试者可以采用各种方式对软件进行测试以验证软件服从所意图的行为。 当软件测试者识别出不服从所意图的行为的软件行为的实例时,软件测试者(例如,直接和/或间接地经由缺陷系统)将该缺陷报告至开发者。所报告缺陷范围可以从次要的(例如,装饰性的(cosmetic))到严重的(例如,核心功能问题)。开发者然后将计算机代码移除、修改、和/或添加至软件应用以修正所报告缺陷。当开发者修正了所报告缺陷时,开发者将软件的新版本提交至软件测试者。软件测试者然后验证所报告缺陷已经被修正。例如,软件测试者可以尝试重新产生先前导致了缺陷的发现的状况并确定是否仍然可以观察到缺陷。 在过去,软件缺陷验证是手动过程。负责软件测试的人(例如,质量保证工程师)在所报告缺陷已经被开发者(或者质量保证工程师可以是开发者自己)解决时被通知。该人然后必须通过手动地对软件应用重新测试并确定软件缺陷是否仍然存在来尝试重新产生该软件缺陷。手动测试因此会是昂贵且耗时的过程。进行手动测试所需的费用和时间可以导致针对软件的质量的妥协(例如,一些缺陷可能未被解决以便留在预算内等等)。 示例性方法、装置和制品可以被用来在软件开发系统中执行软件缺陷验证。本文所公开的示例性方法、装置和制品通过使验证所报告的软件缺陷的过程自动化而克服了与现有技术相关联的问题。在一些示例中,自动化软件测试器记录用户进行软件应用的手动测试的动作,包括与测试下软件应用的交互。当用户报告软件应用中的缺陷时,软件测试器生成表示导致识别出缺陷的用户动作的脚本。软件测试器将脚本附接或附加到所报告缺陷。当所报告缺陷后来被该用户(或者不同用户)验证时,软件测试器执行该脚本以尝试重新产生该缺陷。开发者还可以使用脚本来可靠且快速地重新产生缺陷,这使得更多的高效解决方案能够报告缺陷。 对比于摘要中的创建测试脚本的已知软件测试应用(B卩,不具有与软件缺陷的关联性),本文所公开的示例性方法、装置、和制品是缺陷中心式的(defect-centric)。示例性方法、装置、和制品将缺陷重新产生脚本附接或关联至所报告缺陷并且尝试响应于由用户对缺陷的选择而重新产生缺陷。以此方式,示例性方法、装置、和制品提供了对缺陷的快速验证和增强的软件开发效率。 本文公开了示例性计算机可读指令,其使得处理器识别对要被测试的软件应用中的所报告缺陷的选择。基于该选择,指令使得处理器访问表示要由计算机在执行要被测试的软件应用时执行的一组动作的脚本。该组脚本与所选择的所报告缺陷相关联。示例性指令还使得处理器执行计算机上的要被测试的软件应用,并执行脚本中的该组动作以尝试重新产生所报告缺陷。 本文所公开的示例性装置包括用户界面、应用测试器、和缺陷重新产生器。示例性用户界面接收针对要被测试的软件应用的所报告缺陷的选择。应用测试器执行测试下软件应用。示例性缺陷重新产生器尝试通过在应用测试器执行测试下软件应用时执行脚本中所定义的一组动作来重新产生所选择的报告的软件缺陷。该组动作与所选择的报告的软件缺陷相关联。 如本文所使用的,术语“验证缺陷”或“验证所报告缺陷”是指确定和/或确认已经根据某一准则满意地修正或解决了缺陷(例如,根据验证器的满意)。 图1是示例性软件开发系统100的框图。图1的示例性系统100可以被用来执行针对开发和/或测试中的软件应用的软件缺陷验证。图1的示例包括应用开发器102、软件测试器104、缺陷管理器106、以及测试管理器108。 图1的示例性应用开发器102被用来开发或生成软件应用。例如,应用开发器102可以是实现在一个或多个计算机、服务器、网络、和/或其他设备上的开发环境。诸如(一个或多个)软件工程师之类的一个或多个人使用应用开发器102来编写软件代码和/或生成要被测试的可执行软件。(一个或多个)软件应用可以被开发以尝试符合所接收到的软件应用要求110。例如,图1的软件应用要求110定义了软件应用的所期望的目标、目的、输入、输出、视觉要求、和/或行为。应用开发器102向软件测试器104提供用于测试的(一个或多个)软件应用。 图1的示例性软件测试器104测试软件应用以识别、报告、和/或验证由应用开发器102提供的软件应用中(例如,软件应用的不同版本中)的缺陷。在一些示例中,软件测试器104是执行在计算机或处理平台(例如,图9的处理平台900)上的测试工具。 用户(例如,质量保证工程师)可以使用图1的示例性软件测试器104来对由应用开发器102提供的(一个或多个)软件应用112执行测试。当用户正在经由软件测试器104对软件应用112进行测试时,软件测试器104自动地记录用户和软件应用之间的交互(例如,经由键盘输入的数据、使用光标和/或鼠标选择的对象等等)。图1的软件测试器104将所记录的交互的表示存储在用户交互日志114中。 当用户识别出测试下软件应用112中的缺陷时,用户经由软件测试器104报告缺陷。例如,用户可以经由软件测试器104生成缺陷记录。所报告缺陷可以包括例如缺陷标识符(例如,缺陷号)、所期望的行为、观察到的行为、可疑的原因、在其中观察到缺陷的状态或上下文、和/或用户相信在解决或修正所报告缺陷方面对于开发器有益的任何其他信息。 响应于用户报告本文档来自技高网...

【技术保护点】
一种方法,包括:利用处理器访问表示要在执行要被测试的软件应用时被执行的一组动作的脚本,该组动作与所报告缺陷相关联;执行计算机上的要被测试的软件应用;以及利用所述处理器经由要被测试的应用执行所述脚本中的该组动作以尝试重新产生所述所报告缺陷。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:D塔尔I梅尔曼
申请(专利权)人:惠普发展公司有限责任合伙企业
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1