头歌-软件测试技术-面向对象测试_王铁军(代码片段)

泩輝 泩輝     2023-01-07     203

关键词:

目录

第1关:面向对象的单元测试

任务描述

相关知识

测试用例设计方法

随机测试

划分测试

作答要求

第2关:面向对象的集成测试

任务描述

相关知识

面向对象的集成测试

基于使用的测试

作答要求


第1关:面向对象的单元测试

任务描述

本关任务:根据所学知识,完成右侧的选择题。

相关知识

为了完成本关任务,你需要掌握面向对象的单元测试。

单元的意思已经发生改变

当考虑面向对象的软件时,单元的概念就发生了改变。因为传统面向过程的软件中最小单位是模块,所以此时单元指的是模块。而面向对象的软件中的最小单位是类和对象,所以这个时候单元指的是类和对象。

而且在测试面向对象软件时,不能再孤立地测试单个操作,而应该把操作作为类的一部分来测试。

例如,假设有一个类层次,X函数在其父类中有定义,并且被一组子类继承了下来,而且每个子类都会使用x函数。但是X函数会调用子类中定义的操作并处理子类的私有变量。这个时候你若用单元测试的方式来测的话,会发现无从下手。

看起来这么复杂的一个类层次,其实在面向对象的软件中比比皆是。由于在不同的子类中使用X函数的环境有微妙的差别,因此有必要在每个子类的语境中测试X函数。这就说明,当测试面向对象软件时,传统的单元测试方法是不适用的,不能再孤立地测试单个函数。

测试用例设计方法

目前,面向对象软件的测试用例的设计方法还处于研究和发展阶段。与传统单元测试不同,面向对象的单元测试关注于设计适当的操作序列以检查类的状态。

测试单个类的方法主要有随机测试和划分测试两种。

随机测试

下面通过银行系统的例子,来简要说明这种测试方法。该系统的account(账户)类有这些函数:open(打开)、deposit(存款)、withdraw(取款)、balance(余额)、summarize(清单)、creditLimit(透支限额)和close(关闭)。

很明显,只要是account类的对象就都能使用这些函数。但是,使用这些函数时也会有一些限制。例如,必须在打开账户之后才能关闭账户。

即使有这样或者那样的限制,但合理使用函数的序列还是会有很多种例如:open->deposit->closeopen->deposit->withdraw->closeopen->summarize->creditLimit->withdraw->close等。

这些序列其实就是用户可能会在使用系统时触发的函数使用序列,而且每个用户的使用序列可能会不一样,所以像这种以序列的方式来测试的方法叫作随机测试。

划分测试

划分测试与黑盒测试中的等价类划分类似,先按照一定的规则,把输入和输出分类,然后设计测试用例,用来测试划分出来的每个类别。采用划分测试方法可以减少测试类时所需要的测试用例的数量。

例如account类中,与状态有关的函数是depositwithdraw,而其他的函数与状态无关。那么设计测试用例时,可以分别测试改变状态的函数和不改变状态的函数。例如:open->deposit->deposit->withdraw->close用来测试改变状态的函数,而open->balance->close用来测试不改变状态的函数。

作答要求

请完成右侧的选择题,并点击评测按钮,验证你所填写的答案是否正确。

 

第2关:面向对象的集成测试

任务描述

本关任务:根据所学知识,完成右侧的选择题。

相关知识

为了完成本关任务,你需要掌握面向对象的集成测试。

面向对象的集成测试

因为在面向对象的软件中不存在层次的控制结构,传统的自顶向下或自顶向上的集成策略就没有意义了。此外,由于构成类的各个成分彼此间存在着直接或间接的交互,一次集成一个操作到类中通常是不现实的。

面向对象软件的集成测试主要采用基于使用的测试策略来进行。

基于使用的测试

这种方法首先测试几乎不使用服务器类的那些类(也叫独立类),把独立类都测试完之后,再测试使用独立类到下一个层次的类(也叫依赖类)。对依赖类的测试一个层次一个层次地持续进行下去,直至把整个软件系统构造完成,那么整个系统也就测试完成了。

例如,一款刷脸签到的app中有Camera类、Recognition类、DataBase类、Signin类。其中Signin类依赖于DataBase类和Recognition类。可以看出,Camera类、Recognition类和DataBase类是独立类,应该优先测试这些类的功能。而Signin类是依赖类,因此应该在最后才把Signin类与其他类集成到一起并进行测试。

作答要求

请完成右侧的选择题,并点击评测按钮,验证你所填写的答案是否正确。

软件测试习题整理(代码片段)

...因果图和错误猜测法是黑盒测试方法中典型的方法。2、软件测试过程主要分为单元测试、集成测试、系统测试、验收测试四类测试。3、对面向对象的软件测试与传统的软件测试相比增加了面向对象分析的测试和面向对象设计的... 查看详情

educoder(头歌)平台java实训作业答案(代码片段)

头歌educoder实训java1-1Java入门-Java入门基础1-2Java入门-变量与数据类型1-3Java入门-运算符和表达式1-4Java入门-分支结构1-5Java入门-循环结构基础1-6Java入门-循环结构进阶1-7Java入门-分支与循环练习1.8Java入门-数组基础1.9Java入门-数组进... 查看详情

软件测试工程师常见的17道python面试题多测师_王sir(代码片段)

#coding=utf-8"""===========================Author:多测师_王sirTime:2020-07-1012:00Wechat:xiaoshubasswebsite:www.duoceshi.cn==========================="""python练习题1.统计统计在一个队列中的数字,有多少个正数,多少个负数,如a=[1,3,5,7,0 查看详情

头歌-信息安全技术-用python实现自己的区块链支持以太坊的云笔记服务器端开发编写并测试用于保存云笔记的智能合约支持以太坊的云笔记小程序开发基础(代码片段)

头歌-信息安全技术-用Python实现自己的区块链、支持以太坊的云笔记服务器端开发、编写并测试用于保存云笔记的智能合约、支持以太坊的云笔记小程序开发基础一、用Python实现自己的区块链1、任务描述2、评测步骤(1)打开终端&#... 查看详情

20165201实验二面向对象程序设计(代码片段)

##20165201实验二面向对象程序设计Java面向对象程序设计-1实验目的与要求:参考http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST完成单元测试的学习提交最后三个JUnit测试用例(正常情况,错误情况,边界情况)都通过的截图,截图上... 查看详情

搭建测试环境面向对象

1.搭建测试环境importos,sysBASE_PATH=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))sys.path.insert(0,BASE_PATH)#电脑没装paycharm时,加入这俩行,代替marksourceroot搭建测试环境:1、申请一台服务器2、安装依赖软件python3flask#确认需要安装的第... 查看详情

头歌实验三python顺序结构程序设计(代码片段)

文章目录>>>第1关:球体体积计算任务描述相关知识示例代码编程要求测试说明参考答案>>>第2关:表达式求解-垂直上抛小球位置计算任务描述相关知识竖直上抛运动Python算术运算符Python变量Python输出编程要... 查看详情

头歌实验二python入门之基础语法(代码片段)

文章目录>>>第1关:行与缩进任务描述相关知识缩进多行语句编程要求测试说明参考答案>>>第2关:标识符与保留字任务描述相关知识标识符保留字编程要求测试说明参考答案>>>第3关:注释任务描述... 查看详情

执行测试_单元测试(代码片段)

...试为主线,中间穿插质量特性,学会自动化工具的使用。软件测试的过程测试范围:逐渐增大:先使用白盒测试,然后黑盒测试的比例逐步增加。测试视角:从代码到使用具体来说就是:单元测试—模块/白盒技术可以并行进行... 查看详情

面向对象的自我总结(代码片段)

面向过程是一种以过程为中心的编程思想。面向对象程序设计主要针对大型软件设计提出的,次编程方式的实现是基于对类和对象的使用。总结3大特点:封装,继承,多态classCar():def__init__(self,pp="宝马",ys="红色",jg="35W"):#类中的... 查看详情

面向对象的软件测试技术

相关知识点-面象对象(=ObjectOriented)技术1. 对象和类l 面象对象的编程语言:以对象为中心,以消息为驱动,程序=对象+消息l 类是一种新的数据类型,是设计的核心,是通过抽象数据类型的方法来实现的一种数... 查看详情

2018-2019-220175308实验二《面向对象程序设计》实验报告(代码片段)

20175308实验二《Java面向对象程序设计》实验报告一、前期准备:单元测试和TDD:(一)单元测试我们首先要会写三种代码:伪代码产品代码测试代码Java编程中,我们首先写伪代码,它与具体的编程语言无关,从意图层面来解决... 查看详情

java面向对象中的小测试(代码片段)

编写环境为IDEA如下图所示请按照题目的要求编写程序并给出运行结果。1、设计一个学生类Student和它的一个子类Undergraduate,要求如下:1)Student类有name(姓名)、和age(年龄)属性,一个包含两个参数的构造方法,... 查看详情

头歌实验一python初体验——helloworld(代码片段)

文章目录>>>第1关:HelloPython,我来了!任务描述相关知识Python交互式编程模式Python脚本式编程模式Print内置函数编程要求测试说明参考答案>>>第2关:我想看世界任务描述相关知识input()函数print()函数... 查看详情

单元测试(代码片段)

...试的对象通常是软件设计的最小逻辑单元,单元的划分在面向过程的结构化程序中一般是函数或子过程,在面向对象的程序中可以是类或类的成员函数。软件开发中,为何要进行单元测试进行单元测试,主要是为了在开发的过程... 查看详情

面向对象----属性,约束,super深入了解(代码片段)

...象----继承1.什么是面向对象的继承?继承是面向对象软件技术当中的一个概念.如果一个类别A继承自另一类别B,就把这个A称作B的子类别,而把B称作A的父类别,也可以说是B是A的超类.基类继承可以使得子类具有父类的属性和方法,而不... 查看详情

头歌平台(educoder)————软件测试(黑盒测试)

第1关:等价类划分法任务描述本关任务:编写代码,使用等价类划分法进行黑盒测试。相关知识为了完成本关任务,你需要掌握等价类划分法。第2关:边界值法任务描述本关任务:编写代码,使用边... 查看详情

2019-04-15python中的面向对象学习总结(代码片段)

一.面向对象总结:  (1)三要素:封装,继承,多态                    详细介绍链接:https://www.jianshu.com/p/68ab35298a59    one.封装:所谓封装,也就... 查看详情