|
|
|
|
移动端

1.10 执行历史

《软件测试基础教程》第1章软件测试的基本知识,本章作为一个导引,其目的在于让读者熟悉与软件测试相关的基本概念,建立起全书的框架。在本书后续章节中将要详细阐述的问题,首先在这里被提了出来。读完这章之后,读者就能够在软件测试和软件质量方面提出一些有意义的问题。本节为大家介绍执行历史。

作者:王峰/郭长国/陈振华 等译来源:机械工业出版社|2011-09-16 21:18

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


1.10 执行历史

一个程序的执行历史,又称作执行轨迹,是在一次执行中收集到的程序各方面信息的有序集合。一个执行片段是执行轨迹中一个可执行的子序列。用于表示执行轨迹的方法有好几种。例如,一种可能的表示就是一个顺序,针对特定的输入,软件的功能是按照这个顺序执行的;另一种表示也是一个顺序,而这个顺序是程序块执行的顺序。这样,针对一个测试输入,就可以构造出程序的多种执行轨迹。对一个用面向对象语言(如Java)写的程序,其执行轨迹还可以表示成对象以及所访问方法的一个序列。

例1.21考虑程序P1.2及如图1-16所示的控制流图(CFG)。我们感兴趣的是,当对程序P1.2执行测试t1:<x=2,y=3>时,基本块的执行顺序。通过直接检查图1-16,发现针对测试t1,程序基本块的执行顺序是1,3,4,5,6,5,6,5,6,7,9。这个顺序就表示了程序P1.2针对测试t1的一个执行轨迹。针对另一个测试t2:<x=1,y=0>,程序P1.2的执行轨迹为1,3,4,5,7,9。

程序的执行历史还可包含程序中各变量的值。显然,执行历史中的信息越多,所需的存储空间就越大。执行历史应该包含哪些、不包含哪些信息,依赖于执行历史的用途以及可用的存储空间。如果用于调试程序,执行历史应当包括基本块的执行顺序以及程序中一个或多个变量的值;如果用于回归测试中选择测试用例子集,只需包含一个子程序调用顺序或基本块执行顺序即可;如果用于性能分析,只需包含一个蕴含子程序执行顺序的轨迹即可,该轨迹用来计算每个子程序的执行次数,以便评价其对整个程序执行时间的影响。

一个从程序执行的起点开始、到结束为止记录下来的完整的执行历史,表示了程序中的一条执行路径。但是,在某些情况下,比如调试,人们关注的只是部分执行历史,即只在一条完整执行路径中的某一段或某几段,记录了诸如基本块或变量值等程序要素的信息。例如,这种执行路径片段,可能从控制进入某个感兴趣的函数开始、到控制退出该函数为止。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

SQL Server 2005奥秘

本书是作者深入研究SQL Server 2005数据库体系结构和内部机制的经验总结。 全书不拘泥于具体的管理操作,而是通过对存储的数据和日志文件...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊