软件测试实验3
- 格式:doc
- 大小:482.50 KB
- 文档页数:16
集成测试的实验报告集成测试的实验报告引言:在软件开发的过程中,集成测试是一个非常重要的环节。
通过集成测试,可以验证各个模块之间的协作是否正常,以及整个系统的功能是否完备。
本次实验旨在通过对一个简单的软件系统进行集成测试,探索集成测试的方法和技巧,并分析测试结果。
实验背景:本次实验的被测软件系统是一个在线购物系统,包括用户管理、商品管理、订单管理等模块。
在开发过程中,各个模块已经经过了单元测试,现在需要进行集成测试,以确保系统的各个部分能够正常协作。
实验步骤:1. 确定测试目标:在进行集成测试之前,需要明确测试的目标和范围。
本次实验的测试目标是验证系统的主要功能是否正常,包括用户注册、商品浏览、下单支付等。
2. 设计测试用例:根据测试目标,设计一系列测试用例,覆盖系统的各个功能点。
测试用例应该包括输入数据、预期输出以及测试步骤等内容。
3. 搭建测试环境:为了进行集成测试,需要搭建一个适合的测试环境。
这包括安装必要的软件、配置数据库、网络环境等。
4. 执行测试用例:按照设计好的测试用例,逐一执行测试。
在执行过程中,需要记录测试结果、发现的问题以及解决方案。
5. 分析测试结果:根据测试结果,分析系统的问题所在。
如果发现了bug,需要进行修复,并重新进行测试。
同时,还可以对测试用例进行优化,以提高测试的覆盖率。
实验结果:通过本次实验,我们发现了一些问题并进行了相应的修复。
其中,最主要的问题是在用户注册模块中存在一个逻辑错误,导致用户注册时无法正常保存用户信息。
经过仔细分析,我们找到了问题的根源,并进行了修复。
另外,还发现了一些界面显示不一致的问题,经过调试和修改,问题得以解决。
实验总结:集成测试是软件开发过程中不可或缺的一环。
通过集成测试,可以发现系统中的问题,并及时进行修复,以确保系统的稳定性和可靠性。
本次实验使我们深入了解了集成测试的方法和技巧,并提高了我们的测试能力。
在以后的软件开发过程中,我们将更加注重集成测试的重要性,并加以实施。
管理学院上机实验报告专业班级课程名称软件测试技术学年学期2015-2016学年度第1学期上机学时12指导教师学号姓名管理学院上机实验报告实验名称一、设计测试用例(2学时)实验目的及要求1、创建司机保险测试用例2、选用的案例是一个C程序,根据特定的条件确认司机的保险。
在对本案进行测试用例设计的时候,要注意根据需求中对司机输入信息中各值域的要求来进行用例设计。
另外要注意分别从正向测试和反向测试的角度来进行测试用例的设计。
实验过程与结果测试需求分析:RQ1: 如果司机已婚,则其保险与性别无关;RQ2: 确保司机年龄不低于20岁;RQ3: 如果司机已婚,检查其性别,M代表男性,F代表女性;RQ4: 如果司机未婚,检查其性别是否为男性且年龄是否超过30;RQ5: 如果司机未婚,检查其性别是否为女性且年龄是否超过25;RQ6: 如果婚姻状况不是M或U,显示错误信息;RQ7: 如果性别不是M或F,显示错误信息;RQ8: 如果年龄是零或负数,显示错误信息。
测试用例:ID测试名称目录输入输出1 婚姻状况有效输入除M、U、m或u以外的任何值错误信息2 性别有效输入除M、F、m或f以外的任何值错误信息3 年龄性别和年龄测试u、m、-20 错误信息4 年龄性别和年龄测试u、m、30 正确信息5 年龄性别和年龄测试u、m、20 正确信息6 年龄性别和年龄测试u、m、0 错误信息7 混合婚姻状况、性别和年龄m、m、30 正确信息8 混合婚姻状况、性别和年龄m、j、24 错误信息9 混合婚姻状况、性别和年龄u、j、31 错误信息10 混合婚姻状况、性别和年龄u、f、28 正确信息测试结果报告如下:测试名称:保险详细资料 单元名称:保险模块目的:检查所有可能出现条件的有效值测试结果:结论:该程序对有效输入能够正确输出,对无效输入无法识别,也无法输出错误信息,可以测试得出符合它的输入条件的司机是否已经投保,勉强可以使用。
不过软件还是存在有许多问题没有做好,比如:当输入的年龄为负,男或女没有输入结果都没有显示错误信息。
《软件测试技术》实验报告实验序号:3实验项目名称:单元测试工具JUnit的基本应用学号实验地址姓名指导教师专业、班实验时间一、实验目的及要求掌握在 Eclipse 环境下 JUnit 单元测试工具的安装和使用方法;针对一个实质问题,在 JUnit 环境下设计并履行测试用例。
二、实验要求开发环境: Eclipse v3.7 及以上版本; JUnit v4.10 及以上版本;文本编写软件。
硬件要求: CPU PIV 以上, 256M 内存, 1G 硬盘空间。
系统要求: Windows98/Me/XP/NT/2000 , IE 5 以上。
三、实验内容与步骤1.下载并安装 JDK2.下载并安装 Eclipse3.下载并安装 JUnit4.通读自动售货机程序,并在 Eclipse 环境下运转该程序5.在 JUnit 环境下履行以下表格中的测试用例,并填写完成该表格。
编输入值输入值状态预期输出实质情号Type money况001Beer5C各资Input Information源剩Type: Beer; Money: 5 Cents; Change: 0余Current StateBeer: 5Orange Juice: 65 Cents: 71 Dollar: 6002OrangeJuice5C各资Input Information源剩Type: OrangeJuice; Money: 5 Cents; Change: 0余Current StateBeer: 6Orange Juice: 55 Cents: 71 Dollar: 6003 Beer1D没有Failure Information啤酒Beer Shortage5.提交测试用例程序和该程序运转结果最后画面。
6.总结本次试验,并撰写实验报告。
四、实验结果与数据办理编输入值输入值状态号Type money001Beer5C各资源剩余002OrangeJuice 5C各资源剩余003 Beer1D没有啤酒预期输出Input InformationType: Beer; Money: 5 Cents; Change: 0Current StateBeer: 5Orange Juice: 65 Cents: 71 Dollar: 6Input InformationType: OrangeJuice; Money: 5 Cents; Change: 0Current StateBeer: 6Orange Juice: 55 Cents: 71 Dollar: 6Failure InformationBeer Shortage实质情况与预期值一致与预期值一致与预期值有偏差实验环境变量配置。
《软件测试技术》黑盒测试实验一、实验目的1、能熟练应用黑盒测试技术中的等价类划分法、边界值分析法、因果图法和决策表法进行测试用例设计。
2、对测试用例进行优化设计二、实验环境Windows系统+ Office工具三、实验任务1.电话号码问题2.三角形问题3.工资问题4. 自动售货机问题四、实验步骤1.电话号码问题某城市电话号码由三部分组成,分别是:地区码:空白或四位数字;前缀:非0或1开头的四位数字;后缀:四位数字。
假设被测程序接受符合上述规定的电话号码,拒绝所有不符合规定的电话号码,使用等价类划分方法进行测试用例设计。
表1 电话号码等价类表(除了表头即第一行外,其它都可以修改)表2 电话号码用例表(可以根据实际情况增加行或者删除行)2. 三角形问题输入三个整数:A、B、C,分别作为三角形的三条边的长度,取值范围[1,100],判断三条边构成的三角形是等腰的、等边的、一般三角形或者非三角形。
分别设计标准性边界值分析的测试用例和健壮性边界值分析的测试用例。
(1)标准性边界值测试用例(根据实际情况自行调整表格行数)(2)健壮性边界值测试用例(根据实际情况自行调整表格行数)3.工资问题某软件的一个模块的需求规格说明书中描述:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。
(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。
请绘制出因果图和判定表,并给出相应的测试用例。
原因:C1. 年薪制员工C2. 严重过失中间状态:11. 非年薪制员工12. 过失结果:E1. 扣年终风险金的4%E2. 扣年终风险金的2%E3. 扣当月薪资的8%E4. 扣当月薪资的4%4. 自动售货机问题有一个处理单价为1元5角钱的盒装饮料的自动售货机软件,若投入1元5角硬币,按下“可乐”、“雪碧”或“橙汁”按钮,相应的饮料就送出来。
若投入的是2元硬币,在送出相应的饮料同时退换5角硬币。
请绘制出决策表。
软件工程实验报告总结(3篇)经过这学期软件工程实验的学习,深深感到用户需求对软件的重要性。
成功的软件产品是建立在成功的需求基础之上的,而高质量的需求来源于用户与开发人员之间有效的沟通与合作。
当用户有一个问题可以用计算机系统来解决,而开发人员开始帮助用户解决这个问题,沟通就开始了。
需求获取可能是最困难、最关键、最易出错及最需要沟通交流的活动。
对需求的获取往往有错误的认识:用户知道需求是什么,我们所要做的就是和他们交谈从他们那里得到需求,只要问用户系统的目标特征,什么是要完成的,什么样的系统能适合商业需要就可以了,但是实际上需求获取并不是想象的这样简单,这条沟通之路布满了荆棘。
首先需求获取要定义问题范围,系统的边界往往是很难明确的,用户不了解技术实现的细节,这样造成了系统目标的混淆。
其次是对问题的理解,用户对计算机系统的能力和限制缺乏了解,任何一个系统都会有很多的用户或者不同类型的用户,每个用户只知道自己需要的系统,而不知道系统的整体情况,他们不知道系统作为一个整体怎么样工作效率更好,也不太清楚那些工作可以交给软件完成,他们不清楚需求是什么,或者说如何以一种精确的方式来描述需求,他们需要开发人员的协助和指导,但是用户与开发人员之间的交流很容易出现障碍,忽略了那些被认为是认为是""很明显很明显""的信息。
最后是需求的确认,因为需求的不稳定性往往随着时间的推移产生变动,使之难以确认。
为了克服以上的问题,必须有组织的执行需求的获取活动。
需求获取活动要完成的任务或者步骤的过程如下:1、编写项目视图和范围文档系统的需求包括四个不同的层次:业务需求、用户需求和功能需求、非功能性需求。
业务需求说明了提供给用户新系统的最初利益,,反映了组织机构或用户对系统、产品高层次的目标要求,初利益它们在项目视图与范围文档中予以说明。
用户需求文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明。
第1篇一、实验目的1. 理解软件设计的基本概念和原则。
2. 掌握软件设计的方法和工具。
3. 培养软件设计的实践能力。
4. 提高软件设计文档的编写能力。
二、实验环境1. 操作系统:Windows 102. 开发工具:Visual Studio 20193. 编程语言:C三、实验内容本次实验以设计一个简单的学生信息管理系统为例,进行软件设计。
1. 需求分析学生信息管理系统主要功能包括:(1)学生信息录入:包括姓名、性别、年龄、学号、班级等基本信息。
(2)学生信息查询:根据学号、姓名等关键字进行查询。
(3)学生信息修改:修改学生信息。
(4)学生信息删除:删除学生信息。
(5)学生信息统计:统计学生信息。
2. 系统架构设计(1)采用分层架构,分为表现层、业务逻辑层和数据访问层。
(2)表现层:使用Windows窗体作为用户界面。
(3)业务逻辑层:封装业务逻辑,实现功能模块。
(4)数据访问层:负责与数据库进行交互,实现数据的增删改查。
3. 类设计(1)学生类(Student)属性:姓名、性别、年龄、学号、班级方法:添加学生信息、删除学生信息、修改学生信息、查询学生信息(2)学生管理类(StudentManager)属性:学生列表方法:添加学生、删除学生、修改学生、查询学生、统计学生信息(3)数据库访问类(DatabaseAccess)方法:连接数据库、执行SQL语句、关闭数据库连接4. 数据库设计(1)数据库:使用SQL Server 2019(2)数据表:学生表(Student)字段:姓名、性别、年龄、学号、班级5. 界面设计(1)使用Windows窗体设计用户界面。
(2)界面包括:学生信息录入、查询、修改、删除、统计等功能模块。
6. 编码实现(1)使用C进行编程实现。
(2)根据设计文档,实现各个类和方法。
7. 测试与调试(1)进行功能测试,确保系统正常运行。
(2)进行性能测试,确保系统响应速度快。
(3)调试程序,修复发现的错误。
第1篇一、实验背景随着信息技术的飞速发展,软件工程已成为计算机科学的重要分支。
软件过程是软件生命周期中各个阶段的活动,它包括需求分析、设计、编码、测试和维护等环节。
为了提高软件开发的效率和软件质量,软件过程管理显得尤为重要。
本实验旨在通过实践操作,加深对软件过程的理解,掌握软件过程管理的相关知识。
二、实验目的1. 理解软件过程的各个阶段及其相互关系;2. 掌握软件过程管理的基本方法;3. 提高软件开发的效率和质量;4. 培养团队协作能力。
三、实验内容1. 软件过程概述首先,我们对软件过程进行了概述,介绍了软件过程的定义、特点、作用以及软件过程模型。
通过学习,我们了解到软件过程是软件开发的基本框架,是保证软件开发质量的关键。
2. 需求分析需求分析是软件开发的第一步,也是最为关键的一步。
我们通过案例学习,了解了需求分析的方法和技巧。
在实验中,我们采用用户故事、用例图等方法对需求进行分析,确保需求完整、一致、可测试。
3. 设计设计是软件开发的核心环节,包括系统设计、模块设计和数据库设计等。
在实验中,我们学习了设计模式、架构风格等设计原则,通过UML图对系统进行设计,确保系统的可扩展性和可维护性。
4. 编码编码是软件开发的具体实施阶段,也是实现设计的过程。
我们学习了编程语言、代码规范等知识,通过编写代码实现设计。
在实验过程中,我们注重代码的可读性、可维护性和可测试性。
5. 测试测试是保证软件质量的关键环节。
我们学习了测试方法、测试用例设计等知识,通过编写测试用例对软件进行测试,确保软件满足需求。
6. 维护维护是软件生命周期的重要组成部分,包括软件的升级、修复、优化等。
我们学习了维护方法,了解了软件维护的重要性。
四、实验过程1. 组建团队我们将学生分成若干小组,每个小组负责完成一个软件项目的开发。
在小组内部分工合作,明确各自职责。
2. 需求分析各小组对项目进行需求分析,编写需求规格说明书,确保需求完整、一致、可测试。
《软件测试》第三章白盒测试方法一、填空题1、语句覆盖的目的是测试程序中的代码是否被执行,它只测试代码中的执行语句。
2、判定覆盖的作用是使真假分支军被执行。
3、条件覆盖是指判定语句中的每个条件都要取真、假值各一次。
4、对于判定语句IF (a>1 AND c1、c1 AND c判断覆盖方法。
5、判定条件覆盖要求判定语句中所有条件取值的可能组合都至少出现一次。
6、在程序插桩法中,插入到程序中的代码称为探针。
二、判断题1、语句覆盖无法考虑分支组合情况。
(X )。
2、目标代码插桩需要重新编译、链接程序。
(√)。
3、语句覆盖可以测试程序中的逻辑错误。
(√)。
4、判定-条件覆盖没有考虑判定语句与条件判断的组合情况。
(X )。
5、对于源代码插桩,探针具有较好的通用性。
(√)。
三、单选题1、下列选项中,哪一项不属于逻辑覆盖?( D )。
A.语句覆盖B.条件覆盖C.判定覆盖D.判定-语句覆盖。
2、关于逻辑覆盖,下列说法中错误的是( C )。
A.语句覆盖的语句不包括空行、注释等。
B.相比于语句覆盖,判定覆盖考虑到了每个判定语句的取值情况。
C.条件覆盖考虑到了每个逻辑条件取值的所有组合情况。
— 1/2 —— 1/2 —D.在逻辑覆盖中,条件组合覆盖是覆盖率最大的测试方法。
3、关于程序插桩法,下列说法中错误的是( D )。
A.程序插桩法就是往被测程序中插入测试代码以达到测试目的的方法。
B. 程序插桩法可分为目标代码插桩法和源代码插桩。
C. 源代码插桩的程序需要重新编译、链接过程,单测试代码不参与编译、链接过程。
D. 目标代码插桩是往二进制程序中插入测试代码四、简答题1、请简述逻辑覆盖的几种方法及他们之间的区别。
答:6种。
语句覆盖(SC):设计足够多的测试用例,抄确保每条语句都被执行过。
判定覆盖(DC):设计足够多的测试用例,确保每个判定都分别取真值与假值。
条件覆盖(CC):设计足够多的测试用例,确保每个条件都分别取真值与假值。
软件测试作业3(第8~11章)答案一、选择题1.结构化语言是介于自然语言和形式语言之间的一种(D)。
A.半形式语言B.计算机语言 C.低级语言D.高级语言2.程序设计语言的技术特性不应包括(C)。
A、数据结构的描述性B、抽象类型的描述性C、数据库的易操作性D、软件的可移植性3.程序的三种基本控制结构是(B)。
A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移4.结构化程序设计主要强调的是(D)。
A.程序的规模B.程序的效率C.程序设计语言的先进性 D.程序易读性5.下列关于功能性注释不正确的说法是(B)。
A.功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态B.注释用来说明程序段,需要在每一行都要加注释C.可使用空行或缩进,以便很容易区分注释和程序D.修改程序也应修改注释6.下列关于效率的说法不正确的是(D)。
A.效率是一个性能要求,其目标应该在需求分析时给出B.提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法C.效率主要指处理机时间和存储器容量两个方面D.程序的效率与程序的简单性无关7.结构化维护与非结构化维护的主要区别在于(B )。
A.软件是否结构化B.软件配置是否完整C.程序的完整性D.文档的完整性8.关于JAVA语言下列说法不正确的是(B)。
A.跨平台的B.动态指针C.解释型的D.面向对象的9.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。
A程序内部逻辑 B.程序复杂结构C.使用说明书D.程序的功能10.确认测试主要涉及的文档是(A)。
A、需求规格说明书B、概要设计说明书C、详细设计说明书D、源程序11.测试的关键问题是(D)。
A.如何组织对软件的评审B.如何验证程序的正确性C.如何采用综合策略D.如何选择测试用例12.黑盒测试在设计测试用例时,主要研究(A)。
A.需求规格说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明13.下面哪些测试属于黑盒测试(B)。
第1篇一、实验目的本次实验旨在通过设计基础软件,加深对软件设计原理和方法的理解,提高软件设计实践能力。
实验要求学生掌握软件需求分析、设计模型构建、设计规范遵循等基本技能,并能够运用所学知识完成一个简单的软件设计项目。
二、实验内容1. 需求分析- 明确软件功能:设计一款用于学生课程成绩管理的软件,包括成绩录入、查询、统计、导出等功能。
- 用户分析:分析软件目标用户,如教师、学生、教务管理员等。
- 功能模块划分:将软件功能划分为成绩录入、成绩查询、成绩统计、成绩导出等模块。
2. 设计模型构建- 采用UML(统一建模语言)进行软件设计,包括用例图、类图、序列图等。
- 用例图:描述软件与用户之间的交互过程,展示软件功能。
- 类图:描述软件中的类及其关系,包括类属性和方法。
- 序列图:描述软件中对象之间的交互过程,展示对象之间的消息传递。
3. 设计规范遵循- 遵循软件设计规范,如命名规范、编码规范、注释规范等。
- 确保软件设计具有良好的可读性、可维护性和可扩展性。
4. 软件设计实现- 选择合适的编程语言和开发工具,如Java、C、Python等。
- 根据设计模型,编写软件代码,实现软件功能。
- 进行单元测试,确保代码质量。
三、实验步骤1. 需求分析- 与用户沟通,了解软件需求。
- 分析需求,确定软件功能模块。
2. 设计模型构建- 使用UML工具绘制用例图、类图、序列图。
- 确定软件设计模型。
3. 设计规范遵循- 遵循软件设计规范,编写代码。
- 对代码进行注释,提高可读性。
4. 软件设计实现- 选择编程语言和开发工具。
- 根据设计模型,编写代码。
- 进行单元测试,确保代码质量。
5. 软件测试- 设计测试用例,对软件进行测试。
- 分析测试结果,修复缺陷。
四、实验结果1. 完成软件需求分析,明确软件功能。
2. 构建软件设计模型,包括用例图、类图、序列图。
3. 遵循软件设计规范,编写代码。
4. 进行单元测试,确保代码质量。
软件测试实验报告--实验三 班级:软件1305班 学号:201316920413 姓名:王浩浩 指导老师:魏蔚
一、实验题目 编制并运行JUnit测试用例程序 二、实验内容 1.针对 com.ustc.biz下的 GradeMgr.java类设计简单的测试用例; 2.通过 JUnit工具自动生成必要代码,然后自己编写剩余代码,测试运行;
3.撰写实验报告。 重点解决的是环境搭建 ,最难得是ARRAYLIST的使用 ,另外本实验还存在不足。 环境搭建截图:
四、实验结果 (1)测试单元AddGrade()函数的源代码: public void testAddGrade() throws Exception { System.out.println("addGrade"); GradeVO gradevo = new GradeVO(); //对象属性初始化 gradevo.setStuID("20130413"); gradevo.setNumElectron(80); gradevo.setNumSoftware(81); gradevo.setNumSecurity(82); gradevo.setNumJava(83); gradevo.setNumDB(84); gradevo.setNumImage(85); gradevo.setNumDistributed(86); gradevo.setNumTest(87); GradeVO gradeVO = new GradeVO(); //给需要插入的对象属性初始化 gradeVO.setStuID(gradevo.getStuID()); gradeVO.setNumElectron(gradevo.getNumElectron()); gradeVO.setNumSoftware(gradevo.getNumSoftware()); gradeVO.setNumSecurity(gradevo.getNumSecurity()); gradeVO.setNumJava(gradevo.getNumJava()); gradeVO.setNumDB(gradevo.getNumDB()); gradeVO.setNumImage(gradevo.getNumImage()); gradeVO.setNumDistributed(gradevo.getNumDistributed()); gradeVO.setNumTest(gradevo.getNumTest()); GradeMgr instance = new GradeMgr(); instance.addGrade(gradeVO); //获得目标学生成绩 GradeVO grade = instance.getGradeByStudentID(gradevo.getStuID()); if (compare(grade, gradeVO)) { System.out.println("成功"); } else { System.out.println("失败"); fail("The test case is a prototype."); } // TODO review the generated test code and remove the default call to fail. // fail("The test case is a prototype."); }
截图:
(2)测试单元UpdateGrade()函数的源代码: public void testUpdateGrade() throws Exception { System.out.println("updateGrade"); GradeVO gradevo = new GradeVO(); //对象属性初始化 gradevo.setStuID("20130413"); gradevo.setNumElectron(80); gradevo.setNumSoftware(81); gradevo.setNumSecurity(82); gradevo.setNumJava(83); gradevo.setNumDB(84); gradevo.setNumImage(85); gradevo.setNumDistributed(86); gradevo.setNumTest(87);
GradeVO gradeVO = new GradeVO(); //给需要插入的对象属性初始化 gradeVO.setStuID(gradevo.getStuID()); gradeVO.setNumElectron(gradevo.getNumElectron()); gradeVO.setNumSoftware(gradevo.getNumSoftware()); gradeVO.setNumSecurity(gradevo.getNumSecurity()); gradeVO.setNumJava(gradevo.getNumJava()); gradeVO.setNumDB(gradevo.getNumDB()); gradeVO.setNumImage(gradevo.getNumImage()); gradeVO.setNumDistributed(gradevo.getNumDistributed()); gradeVO.setNumTest(gradevo.getNumTest()); GradeMgr instance = new GradeMgr(); instance.updateGrade(gradeVO); //获得目标学生成绩 GradeVO grade = instance.getGradeByStudentID(gradevo.getStuID()); //将源学生成绩与目标学生成绩进行比较输出判断结果 if (compare(grade, gradeVO)) { System.out.println("成功"); } else { fail("The test case is a prototype."); } }
截图: (3)测试单元DeleteGradeList()函数方法的源代码: public void testDeleteGradeList() throws Exception { System.out.println("deleteGradeList"); String STUID = "20130413"; //删除前取出对象 System.out.println("删除前取出对象"); GradeMgr instance1 = new GradeMgr(); GradeVO gradetest = new GradeVO(); gradetest = instance1.getGradeByStudentID(STUID); System.out.println(gradetest.getStuID() + " " + gradetest.getNumDB() + " " + gradetest.getNumDistributed() + " " + gradetest.getNumElectron() + " " + gradetest.getNumImage() + " " + gradetest.getNumJava() + " " + gradetest.getNumSecurity() + " " + gradetest.getNumSoftware() + " " + gradetest.getNumTest());
//执行删除操作 GradeMgr instance = new GradeMgr(); instance.deleteGradeList(STUID);
//执行删除后进行检查 GradeMgr instance2 = new GradeMgr(); GradeVO gradetest1 = new GradeVO(); gradetest1 = instance2.getGradeByStudentID(STUID);
if (gradetest1.getNumDB() == 0 && gradetest1.getNumDistributed() == 0 && gradetest1.getNumElectron() == 0 && gradetest1.getNumImage() == 0 && gradetest1.getNumJava() == 0 && gradetest1.getNumSecurity() == 0 && gradetest1.getNumSoftware() == 0 && gradetest1. getNumTest() == 0) { System.out.println("deleted"); System.out.println("删除" + STUID + "后显示记录为"); System.out.println(gradetest1.getStuID() + " " + gradetest1.getNumDB() + " " + gradetest1.getNumDistributed() + " " + gradetest1.getNumElectron() + " " + gradetest1.getNumImage() + " " + gradetest1.getNumJava() + " " + gradetest1.getNumSecurity() + " " + gradetest1.getNumSoftware() + " " + gradetest1.getNumTest()); } else { fail("The test case is a prototype."); } } 截图:
(4)测试单元GetAllStudentsGrade()函数方法的源代码: public void testGetAllStudentsGrade() throws Exception { System.out.println("getAllStudentsGrade"); //定义一个原始对象 GradeVO gradevo = new GradeVO(); //对象属性初始化 gradevo.setStuID("20130413"); gradevo.setNumElectron(80); gradevo.setNumSoftware(81); gradevo.setNumSecurity(82); gradevo.setNumJava(83); gradevo.setNumDB(84); gradevo.setNumImage(85); gradevo.setNumDistributed(86); gradevo.setNumTest(87);