欢迎来到天天文库
浏览记录
ID:38816091
大小:459.50 KB
页数:25页
时间:2019-06-19
《面向对象软件测试策略》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章面向对象软件测试策略本章要点熟悉面向对象的软件工程的基本概念和特征了解面向对象软件测试策略了解面向对象软件测试常用工具熟悉面向对象软件测试用例设计方法了解网站测试的概念与过程了解软件测试的基本内容8.1面向对象的基本特征面向对象的基本特征是:抽象、继承、封装、重载、多态。具体概念和相互关系如图8.1所示。8.2面向对象软件的测试策略面向对象系统测试一般都包含以下主题:类的单元测试类的集成测试系统测试回归测试面向对象测试的相关模型8.2.1面向对象的单元测试在前面介绍的很多单元测试方法可以直接用于类测试。例如
2、:每个类都包含变量。在黑盒测试方法中介绍的边界值分析法和等价类划分都可以使用,以保证使用最有效的测试数据发现尽可能多的缺陷。并不是所有方法都要由客户执行。可以使用白盒测试方法中介绍的功能覆盖方法,以保证每个方法都能执行。每个类都拥有具有过程逻辑的方法。在白盒测试方法中介绍的条件覆盖技术、分支覆盖技术、代码复杂性分析等都可以使用,以保证覆盖尽可能多的分支和条件,增加代码的可维护性。由于类要由不同的客户实例化很多次,所以各种压力测试技术都可以实施,以尽早的发现与压力有关的问题,例如内存泄漏,进行系统测试和验收测试。8
3、.2.2面向对象的集成测试在面向对象系统的集成测试中需要注意以下几点:面向对象系统本质上是通过小的、可重用的组件构成。因此,集成测试对于面向对象系统来说更重要。面向对象系统下组件的开发一般更具并行性,因此对频繁集成的要求更高。由于并行性提高,集成测试时需要考虑类的完成顺序,也需要设计驱动器来模拟外没有完成的类功能。8.2.3面向对象的系统测试面向对象系统测试有三个主要目的:验证产品交付的组件和系统性能能否达到要求。定位产品的容量以及边界限制。定位系统性能瓶颈。由于系统测试需要搭建与用户实际使用环境相同的测试平台,
4、以保证被测系统的完整性,所以,对临时没有的系统设备部件,也需要有相应的模拟手段。8.2.4面向对象系统的回归测试测试用例库的维护删除过时的测试用例改进不受控制的测试用例删除冗余的测试用例增添新的测试用例回归测试包的选择再测试全部用例基于风险选择测试基于操作剖面选择测试再测试修改的部分8.2.5面向对象测试的相关模型有一些模型可以帮助面向对象系统的测试,主要包括:用例类图序列图活动图8.3面向对象软件的测试用例设计相比于传统的结构化程序测试通过软件的【输入】-【处理】-【输出】视图或者单个模块的算法细节来设计测试用
5、例的方式,面向对象测试侧重于设计适当的操作序列来检查类的状态。面向对象编程可能对测试有几种方式的影响,依赖于面向对象编程的方法,某些类型的故障变得就不可能(不值得去测试);某些类型的故障变得更加可能(值得进行测试);出现某些新的故障类型。8.4网站测试网站测试是一组相关的活动,这些活动具有共同的目标:发现网站的内容、功能、可用性、导航性、性能、容量以及安全方面存在的错误。为实现这个目标,要将同时包括评审及可运行测试的测试策略应用于整个网站系统的开发过程中。参与测试的人员包括所有参加网站测试的网站开发工程师,以及项
6、目的经理、客户和最终用户。在进行网站测试时,首先关注的是用户可见的方面,之后进行技术及基础结构方面的测试。这里要进行6个步骤的测试:内容、界面、构件、配置、性能及安全测试。在测试过程中,需要制定测试计划,要为每一个测试步骤开发一组测试用例,并且要对记录了测试结果的文档进行维护,以备将来使用。8.4.1网站测试概念评估和测试都要检查质量维度中的一项或多项:内容:在语法及语义层对内容进行评估。在语法层,对基于文本的文件进行拼写、标点及文法方面的评估;在语义层,正确性、一致性及清晰性都要评估。功能:对功能进行测试,试图
7、发现与客户需求不一致的错误。对每一项网站功能,评定其正确性、不稳定性及与相应的现实标准(例如,Java或XML、Javascript语言标准)的总体符合程度。结构:对功能进行评估,以保证它正确地表示网站的内容及功能是可扩展的,及支持新内容、新功能的增加。可用性:对可用性进行测试,以保证接口支持各种类型的用户,各种用户都能够学会及使用所有的导航语法及语义。导航性:对导航性进行测试,以保证检测所有的导航语法及语义,发现任何导航错误(例如,死链接、不合适的链接、错误链接等)。性能:在各种不同的操作条件、配置及负载下,对
8、性能进行测试,以保证系统响应用户的交互并处理极端的负载情况,而且没有出现不可接受的操作上的性能降低。兼容性:在客户端及服务器端,在各种不同的主机配置下,通过运行网站对兼容性进行测试,目的是发现针对特定主机配置的错误。互操作性:对互操作性进行测试,以保证网站与其他系统和数据库有正确接口。安全性:对安全性进行测试,通过评定可能存在的弱点,试图对每一个弱点进行攻击。任何成功的突
此文档下载收益归作者所有