首页> 中文学位 >动态程序切片在面向对象软件测试中的应用
【6h】

动态程序切片在面向对象软件测试中的应用

代理获取

目录

文摘

英文文摘

ACKNOWLEDGEMENTS

CHAPTER 1INTRODUCTION

1.1 Motivation

1.2 Problem Statement

1.3 Setbacks

1.4. Backbone of O-O Software testing with C++

1.4.1. Practical Testing Issues of C++

1.4.4.Sata Folw Analysis in the presence of scalar variables, pointer and induction variables

1.5. Proposed Solutions

1.6. Organization of the Thesis

CHAPTER 2 DERIVATION OF WHITE-BOX TEST CASES USING CYCLOMATIC COMPLEXITY AND TEST COVERAGE CRITERIA

2.1. Types of class level testing

2.2.White-Box Testing

2.3 Comparison between White-box and Black-box techniques

2.4. Test Case

2.4.1 Functional Test Case

2.4.2. White-Box Test Case

2.5. Control Flow Graph

2.5.1 An Example C++ Program in the absence of pointer and array variables

2.5.2. An Algorithm for Constructing Control Flow Graph Of A Class

2.5.3. Cyclomatic complexity

2.5.4. Control flow testing criteria

2.6. Class Data Flow Analysis

2.6.1. Data flow testingcriteria

2.6.2. Computing Def-Use Associations in the absence of pointer variables using Reaching Definitions

2.7. Computation of Def-Use Associations in the presence of pointer and array variables using Reaching Definitions

2.7.1 Control Flow Graph In The Presence Of Scalar and Pointer Variables

CHAPTER 3 DYNAMIC PROGRAM SLICING

3.1 Program Dependence Graph

3.2. Dynamic Slicing In The Absence Of Pointers

3.3. Dynamic Slicing In The Presence Of Scalar and C/C++ Pointer Variables

CHAPTER 4 EXPERIMENTAL RESULTS AND ANALYSIS

4.1 Overview of Testing Classes

4.2.Implementation of the Elevator class

4.3. Using Program Slicing to locate a failure

4.4 Related Work

CHAPTER 5 CONCLUSION AND FUTURE WORK

5.1 Conclusion

5.2. Problems Encountered

5.3. Future Work

REFERENCES

展开▼

摘要

我们需要编写驱动模块并输入测试用例来完成待测软件(CUT)的测试,接着比较预期结果和实际运行结果.比较结果以FAIL和PASS的形式存在于测试报告中.如果测试失败,则使用动态程序切片(DPS)检测和修正程序错误.接着,再次使用先前的测试方法和所需的测试信息对修改的CUT再次进行测试.在我们提出的方法中,对于标量和指针都使用了动态程序切片算法.指针情况下的切片算法同样可用于计算数组的动态切片.使用这种方法的原因是我们认为测试的目的是为了发现软件故障而不是软件错误,同时程序切片(尤其是动态程序切片)是软件测试的一部分,而不是相反.测试是困难的、易错的、开销巨大的,但又是十分必要的.测试是困难的是因为测试只能证明故障的存在,而不能说明不存在任何故障,不存在一种测试方法(即使是这些方法的组合)能发现所有的软件故障.测试是易错的是因为待测的系统往往是很大的而且十分复杂,许多软件行为都需要得到测试,有些软件故障是很难检测出来的.我们提出的检测技术针对的是C++编程语言,但是它十分灵活足以支持其他面向对象编程语言,比如JAVA.它的独特之处是综合使用了环形复杂性和动态程序切片方法来进行软件测试,同时它也提供了一个易于理解但又十分高效的技术来产生白盒测试所需的测试用例并检测和修正程序故障.

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号