一篇毕业设计论文 | 面向对象的软件测试

【文章摘要】

面向对象的软件测试摘 要: 如今,面向对象开发技术正大力地的推动着软件产业的快速发展。在保证软件产品质量的手段中,最有效、最重要的技术要数软件测试技术。然而,传统的测试技术和方法,对面向对象技术开发的的软件多少显得有些力不从心。鉴于此,提出了面向对象的测试技术!在此,本文通过翻阅大量的文献,总结出着实有效的面向对象的软件测试技术。首先,阐明面向对象软件测试的基本概念;然后,分别讨论分析和设计……

【文章正文】

面向对象的软件测试

摘 要: 如今,面向对象开发技术正大力地的推动着软件产业的快速发展。在保证软件产品质量的手段中,最有效、最重要的技术要数软件测试技术。然而,传统的测试技术和方法,对面向对象技术开发的的软件多少显得有些力不从心。鉴于此,提出了面向对象的测试技术!

在此,本文通过翻阅大量的文献,总结出着实有效的面向对象的软件测试技术。首先,阐明面向对象软件测试的基本概念;然后,分别讨论分析和设计模型测试技术、类测试技术、对象交互测试技术、类层次结构测试技术、面向对象系统测试技术;最后,对面向对象软件测试的实施进行小结。

关键词:面向对象;软件测试;类测试;对象交互;测试用例

Object-Oriented Software Test

Abstract:Now, Object-Oriented development technique is strongly pushing the fast development of the software industry.In the means of the assurance software product quality, most valid,the most important technique wants the few software test technique.However, the traditional test technique and method, the opposite develops toward the object technique of software how much seem to be some to lack the ability to do.Owing to this, put forward to the Object-Oriented test technology!

Here, this text passes to browse a great deal of cultural heritage, tallying up to really effectively Object-Oriented software test technique。First, clarify the basic concept of Object-Oriented software test;then, discuss respectively the Class test technique;a test technique,object hands over to with each other test the technique,a layer structure test technique, the distribute type object test technique and face to the object system test technique; finally,the implement that tests toward the object software in front carries on the sub-footing.

Key Words:Object-Oriented ;Software test;Class test;Object interact;Test case

引 言

软件测试的发展历程 软件测试是伴随着计算机软件的产生而产生的。在早期软件开发的过程中,软件就是由程序员写的简单计算机程序代码。因而,软件测试的含义比较狭窄 ---- 测试等同于 “调试”。软件测试的目的就是为寻找和纠正软件中的故障,这部分的工作常常由开发人员自己完成。

直到上世纪 80 年代早期,“质量” 的号角才开始吹响。软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容。软件开发人员和测试人员开始坐在一起探讨软件工程和测试问题。制定了各类标准,包括 IEEE(Institute of Electrical and Electronic Engineers)标准、美国 ANSI(American national Standard Institute)标准以及 ISO(International Standard Organization)国际标准。1983 年,Bill Wetzel 在《软件测试完全指南》(Complete Guide of Software Testing)一书中指出:“测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度。”Myers 和 Wetzel 的定义至今仍被引用。

到了 2002 年,Rick 和 Stefan 在《系统的软件测试》(Systematic Software Testing)中对软件测试做了进一步定义:“测试是为了度量和提高被测软件的质量,对测试件进行工程设计、实施和维护的整个生命周期过程。” 这些经典论著对软件测试研究的理论化和体系化产生了巨大的影响。

近 20 年来,随着计算机和软件技术的飞速发展,软件测试技术研究也取得了很大的突破。测试专家总结了很好的测试模型,比如著名的 V 模型、W 模型等,在测试过程改进方面提出了 TMM(Testing Maturity Model)的概念,在单元测试、自动化测试、负载压力测试以及测试管理等方面涌现了大量优秀的软件测试工具。

虽然软件测试技术的发展很快,但是其发展速度仍落后于软件开发技术的发展速度,使得软件测试在今天面临着很大的挑战。软件规模越来越大,功能越来越复杂,如何进行充分而有效的测试成为难题。尤其是面向对象的开发技术越来越普及,但是面向对象的测试技术却刚刚起步。

面向对象软件开发过程及其特点 面向对象的开发方法(简称 OO)的基本思想认为,客观世界是由各种各样的对象组成的,每种对象都有各自的内部状态和运动规律,不同的对象之间的相互作用和联系就构成了各种不同的系统。故面向对象软件开发的工作过程为:

1. 调查、分析系统需求,建立一个全面、合理、统一的模型。

2. 在繁杂的问题域中抽象地识别出对象以及其行为、结构、属性、方法

3. 对象设计——即对分析的结果作进一步地抽象、归类、整理,并最终以范式的形式将它们确定下来。

4. 程序实现——即用面向对象的程序设计语言将上一步整理的范式直接映射(直接用程序语言来取代)为应用程序软件。

面向对象开发的特点是遵循一下三项原则:

1. 抽象原则(abstraction)——指为了某一分析目的而集中精力研究对象的某一性质,它可以忽略其它与此目的无关的部分

2. 封装原则(encapsulation)即信息隐藏——指在确定系统的某一部分内容时,应考虑到其它部分的信息及联系都在这一部分的内部进行, 外部各部分之间的信息联系应尽可能的少。

3. 继承原则(inheritance)——指能直接获得已有的性质和特征而不必重复定义它们

1. 面向对象的软件测试的基本概念

面向软件测试技术是新兴的软件测试技术,是专门针对使用面向对象技术开发的软件而提出的一种测试技术。其目的是为了解决传统的软件测试技术,面对面向对象技术开发的软件多少显得有些力不从心的现象。面向对象开发技术和传统的开发技术相比,新增了多态、继承、封装等特点。这些新特点使得开发出来的程序,具有更好的结构更规范的编程风格, 极大地优化了数据使用的安全性, 提高了代码的重用率。由此可见,它们是面向对象开发技术产生巨大吸引力的重要因素。然而,另一方面也影响了软件测试的方法和内容;增加了软件测试的难度;带来了传统软件设计技术所不存在的错误;或者使得传统软件测试中的重点不再显得突出;或者使原来测试经验认为和实践证明的次要方面成为了主要问题。

面向对象软件测试是根据面向对象的软件开发过程结合面向对象的特点提出的。它包括分析与设计模型测试技术、类测试技术、对象交互测试技术、类层次结构测试技术、面向对象系统测试技术五大部分。下面分别围绕这五部分展开讨论。

2. 分析和设计模型测试技术

面向对象软件开发的起始步骤是开发分析和设计模型。UML(统一建模语言)能在面向对象技术开发中广泛应用,也是因为构建模型能帮助开发者理解正在解决的问题;构建模型能帮助管理正在开发的系统的复杂性;分析和设计阶段建构的模型最后将对具体地实现起指导作用。如果模型的质量很高对项目来说就很有价值;但是如果模型有错误,那么它对项目的危害就无可估量。

2.1. 分析和设计模型测试的内容

分析和设计模型测试的重点是测试模型的完整性和一致性, 其主要内容有:

1. 对确定的对象的测试;

2. 对确定的结构的测试;

3. 对确定的主题的测试;

  • 1
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值