[发明专利]测试软件系统的方法和装置以及计算机系统有效
申请号: | 201110441034.0 | 申请日: | 2011-12-26 |
公开(公告)号: | CN102495802A | 公开(公告)日: | 2012-06-13 |
发明(设计)人: | 焦石;沈恒 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 毛威;张亮 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 测试 软件 系统 方法 装置 以及 计算机系统 | ||
技术领域
本发明涉及计算机领域,尤其涉及计算机领域中测试软件系统的方法和装置。
背景技术
当开发中的软件系统可以集成起来运行时,每日的自动化集成或系统测试是保证后继的开发不会造成前期的开发逻辑被误改的重要手段。自动化集成或系统测试可以分为黑盒测试与白盒测试,目前业界的自动化集成或系统测试技术,绝大多数是黑盒测试。
现有的黑盒自动化集成或系统测试原理通常是,为被测试的软件系统提供测试输入,并检测该软件系统根据该测试输入而返回的测试输出是否在期待的范围内,该测试输出例如是被测试的软件系统的返回值或界面展示等。如果测试输出在期待的范围内或符合相应的要求,则认为该软件系统运行正确,否则认为该软件系统运行不正确。
然而,在自动化集成或系统测试中,仅检查被测试的软件系统的输出是不够的,因为被测试的软件系统在执行一次任务的过程中,该软件系统内部的状态值,例如全局变量、实例变量等,可能会被执行任务的代码所修改。因此存在这些状态值被错误地改动而本次的测试输出却是正确的情况,即软件系统的问题没有被发现。对于该情况,在后续的运行过程中,当代码的执行路径引用这些不正确的内部状态值时,会导致任务执行失败,从而可能最终导致软件系统运行错误。但此时距离该内部状态值出现错误的时间点已经很久,从而很难确定错误的原因。
因而,传统的黑盒集成或系统测试方法不容易发现软件系统的内部状态问题;或者需要进行超长时间的测试并且付出很高的成本,才能够发现这些内部状态问题,并且这类问题很容易随软件产品的正式版本流入市场,从而更加难以确定错误的原因。
因此,需要一种技术方案能够对软件系统的内部状态进行监控与检测。
发明内容
本发明实施例提供了一种测试软件系统的方法和装置以及计算机系统,能够对软件系统在运行过程中的内部状态进行测试。
一方面,本发明实施例提供了一种测试软件系统的方法,该方法包括:基于该软件系统采用的编程语言的调试机制,与该软件系统建立调试通道;获取用于测试该软件系统内部的流程分支以及状态的调试指令输入和相应的调试指令输出;向该软件系统发送该调试指令输入,并接收该软件系统根据该调试指令输入返回的内部状态信息;通过将该内部状态信息与该调试指令输出进行比较,确定该软件系统运行是否正确。
另一方面,本发明实施例提供了一种测试软件系统的装置,该装置包括:建立模块,用于基于该软件系统采用的编程语言的调试机制,与该软件系统建立调试通道;获取模块,用于获取用于测试该软件系统内部的流程分支以及状态的调试指令输入和相应的调试指令输出;发送模块,用于通过该建立模块建立的调试通道,向该软件系统发送该获取模块获取的该调试指令输入;接收模块,用于接收该软件系统根据该发送模块发送的该调试指令输入返回的内部状态信息;确定模块,用于通过将该接收模块接收的该内部状态信息与该获取模块获取的该调试指令输出进行比较,确定该软件系统运行是否正确。
再一方面,本发明实施例提供了一种计算机系统,该计算机系统包括:总线;与该总线相连的处理器;与该总线相连的存储器;其中,该处理器通过该总线,调用该存储器中存储的代码,以用于:基于输入的软件系统采用的编程语言的调试机制,与该软件系统建立调试通道;获取用于测试该软件系统内部的流程分支以及状态的调试指令输入和相应的调试指令输出;向该软件系统发送该调试指令输入,并接收该软件系统根据该调试指令输入返回的内部状态信息;通过将该内部状态信息与该调试指令输出进行比较,确定该软件系统运行是否正确。
基于上述技术方案,本发明实施例的测试软件系统的方法和装置以及计算机系统,通过基于该软件系统采用的编程语言的调试机制,并采用用于测试该软件系统内部的流程分支以及状态的调试指令输入,对该软件系统进行测试,从而能够自动对软件系统在运行过程中的内部状态进行测试,并且能够以极低的成本实现软件系统的白盒测试。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的测试软件系统的方法的示意性流程图。
图2是根据本发明另一实施例的测试软件系统的方法的示意性流程图。
图3是根据本发明再一实施例的测试软件系统的方法的示意性流程图。
图4是根据本发明实施例的测试软件系统的装置的示意性框图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110441034.0/2.html,转载请声明来源钻瓜专利网。