软件测试实验一
- 格式:docx
- 大小:22.19 KB
- 文档页数:5
实验一黑盒测试
一、实验目的及要求
实验目的:
1、能熟练应用功能性测试技术进行测试用例设计;
2、对测试用例进行优化设计;
实验原理:
测试“日期推算”程序
该程序的功能是输入一个日期,输出该日期后两天的日期,例如输入2014年1月1日,则输出2014年1月3日。现在假设“日期推算”程序已经被开发出来了,请对该程序进行功能测试,要求用尽可能少的测试用例检测出尽可能多的软件缺陷。
二、实验环境
一台装有windows操作系统的计算机,vc++6.0
三、实验内容
为了方便,我们不考虑闰年的问题,默认为2月都是28天,假设限定输入数据均为整数,日期中年份的有效值范围为1000~9999。
四、实验步骤
1.选定测试方法
2.等价类划分
划分等价类的方法有:
按区间划分、按数值划分、按数值集合划分、按限制条件划分、按限制规则划分等。
确定了等价类后,可建立等价类表。
3.执行测试用例
请根据“日期推算”程序功能要求,自行开发该程序。
4.测试执行结果,并统计,填入表中。
软件单元测试实验报告
软件单元测试实验报告
引言
软件开发过程中,单元测试是非常重要的一环。通过对软件的各个组件进行独立测试,可以发现和修复潜在的问题,确保软件的质量和稳定性。本实验旨在通过实际操作,掌握单元测试的基本概念和技巧,并对不同类型的软件进行测试。
实验目的
本实验的主要目的是:
1.了解单元测试的概念和重要性;
2.掌握单元测试的基本流程和方法;
3.通过实际操作,熟悉单元测试工具的使用。
实验环境
本实验使用的软件开发环境为Java,并使用JUnit作为单元测试框架。
实验步骤
1. 确定测试需求:在进行单元测试之前,首先需要明确测试的目标和需求。根据软件的功能和设计文档,确定需要测试的各个模块和函数。
2. 编写测试用例:根据测试需求,编写相应的测试用例。测试用例应该覆盖各种可能的输入和边界条件,以确保软件在各种情况下都能正确运行。
3. 编写被测代码:根据测试用例,编写被测代码。被测代码应该按照软件设计的要求进行实现,确保满足功能和性能的需求。
4. 执行单元测试:使用JUnit框架执行单元测试。JUnit提供了一系列的断言方
法和测试注解,可以方便地编写和执行测试代码。
5. 分析测试结果:根据测试结果,分析被测代码的质量和稳定性。如果测试通过,说明被测代码符合预期;如果测试失败,需要进一步调试和修复问题。
实验结果
通过本次实验,我们成功完成了对软件的单元测试。通过编写测试用例和执行单元测试,我们发现了一些潜在的问题,并及时修复了这些问题。经过多次测试,被测代码在各种情况下都能正确运行,并且性能稳定。
黑盒测试(一)和白盒测试(二)实验
背景知识
结构性测试是知道产品内部工作过程,检测产品内部动作是否按照规格说明书的规定正常进行。结构性测试允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
一、逻辑覆盖
结构性测试力求提高测试覆盖率。逻辑覆盖是一系列测试过程的总称,它是在使用白盒测试法时,选用测试用例执行程序逻辑路径的方法。
逻辑覆盖按覆盖程度由低到高大致分为以下几类:
(1)语句覆盖:设计若干测试用例,使程序中每一可执行语句至少执行一次;
(2)判断覆盖:设计用例,使程序中的每个逻辑判断的取真取假分支至少经历一次;(3)条件覆盖:设计用例,使判断中的每个条件的可能取值至少满足一次;
(4)判断/条件覆盖:设计用例,使得判断中的每个条件的所有可能结果至少出现一次,而且判断本身所有可能结果也至少出现一次;
(5)条件组合覆盖。设计用例,使得每个判断表达式中条件的各种可能组合都至少出现一次;显然,满足⑤的测试用例也一定是满足②、③、④的测试用例。
(6)路径覆盖。设计足够的测试用例,使程序的每条可能路径都至少执行一次。
如果把路径覆盖和条件组合覆盖结合起来,可以设计出检错能力更强的测试数据用例。二、基本路径测试
如果把覆盖的路径数压缩到一定限度内,例如,程序中的循环体只执行零次和一次,就成为基本路径测试。它是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中,程序的每一个可执行语句至少要执行一次。
《软件测试技术》黑盒测试实验
一、实验目的
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. 过失
《软件质量保证与测试》
实验指导书
:
学号:
班级:软
指导老师:
目录实验一用例设计与黑盒测试3
1.实验目的3
2.实验设备3
3.实验容3
4.实验要求4
实验二WEB测试15
1.实验目的15
2.实验设备15
3.实验容15
4.实验要求15
实验三代码分析与单元测试19
1.实验目的19
2.实验设备19
3.实验容19
4.实验要求28
实验四性能测试与结果分析29
1.实验目的29
2.实验设备29
3.实验容29
4.实验要求29
实验一用例设计与黑盒测试
1.实验目的
(1)能够熟练应用黑盒测试技术进行测试用例设计
(2)对测试用例进行优化测试
2.实验设备
主流PC机一套,安装有主流的编程工具如MyEclipse、C、Visual C++
3.实验容
(1)三角形问题:输入三个正整数a、b、c(1-200),分别作为三角形的三条边,通过程序判断三条边是否能构成三角形?如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形、一般三角形)。请用黑盒测试的方法设计测试用例。
(2)NextDate问题:输入三个变量month、day和year,输出:输入日期后一天的日期,比如:输入为1986年6月9日,则该函数的输出应为1986年6月10日。年份为1-2050年。请用黑盒测试的方法设计测试用例。程序界面如下:
(3)选做容:课件中的其他问题,或者,实现一个登陆模块,用户名要求由字母和数字组成且第一个必须是字母,长度为6-10,密码由六位数字组成,请根据黑盒测试的方法设计测试用例。
4.实验要求
(1)根据题目要求,编写相关程序。
三角形问题:
实验 1 黑盒测试
一、实验目的与要求
1、掌握等价类测试方法的原理、步骤及应用
2、掌握边界值分析法的原理、步骤及应用。
3、掌握决策表测试方法的原理、步骤及应用。
二、实验设备
1、电脑PC
2、office 办公软件
三、实验原理
(一)等价类测试法
1、定义:等价类划分法是根据程序规格说明书对输入范围进行划分,将所有可能的输入数据按相关的规定划分成若干不相交的子集。所有的子集的并集是整个输入域,其中,子集的互不相交保证子集中无冗余性,子集的并集是整个输入域,确定了所有子集的完备性。在划分等价类时分有效等价类和无效等价类。
2、划分等价类的步骤
(1)确定输入域:分析需求并确定所有的输入、输出量,以及变量类型和变量使用条件。
(2)等价类划分:将每个变量的取值集合划分为互不相交的子集,每个子集对应一个等价类,所有的等价类就构成了对输入域的一个划分。
(3)组合等价类:使用多元化方法,可以将等价类组合起来。
(4)确定不可测的等价类:有些输入数据组合在实际测试过程中是无法生成的,包括这种数据的等价类就是不可测试等价类。不可测试数据是指无法输入到被测软件中的那些数据组合。
3、等价类的测试步骤
(1)划分等价类,形成等价类表。
(2)为每个等价类规定一个唯一的编号。
(3)设计一个新的测试用例,使其尽量多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。
(4)设计一个新的测试用例,使其覆盖一个而且只覆盖一个无效等价类,重复这一步骤,直到所有的无效等价类都被覆盖为止。
(二)边界值分析法
1、定义:边界值分析法主要从数据的定义域的边界数据进行分析,对于合法的与不合法的边界数据进行选取和测试。用来检查用户输入的信息、返回的结果以及中间计算结果是否正确。
软件测试实验报告
软件测试实验报告
引言:
软件测试是软件开发过程中至关重要的一环。通过对软件系统进行全面、系统
的测试,可以发现潜在的缺陷和问题,提高软件的质量和可靠性。本实验旨在
通过对一个实际软件系统的测试,探索软件测试的方法和技术,并总结经验教训。
1. 实验背景
本实验选择了一个在线购物网站作为测试对象。该网站具有复杂的功能和交互
流程,包括用户注册、商品浏览、购物车管理、订单生成等。通过对该网站进
行全面的测试,可以验证其功能的正确性和稳定性。
2. 测试目标
本次测试的目标是发现潜在的缺陷和问题,并提供相应的改进建议。具体来说,我们将关注以下几个方面:
- 功能测试:验证网站各个功能模块的正确性和完整性。
- 性能测试:测试网站在高并发情况下的性能表现。
- 安全性测试:检查网站是否存在安全漏洞,如SQL注入、XSS攻击等。
- 用户体验测试:评估用户在使用网站时的体验和满意度。
3. 测试方法
为了达到测试目标,我们采用了以下几种测试方法:
- 黑盒测试:通过分析网站的需求和功能,设计测试用例,验证系统的功能是
否符合预期。
- 白盒测试:通过分析网站的源代码,设计测试用例,验证系统的内部逻辑是
否正确。
- 压力测试:模拟大量用户同时访问网站,测试系统在高负载情况下的性能表现。
- 安全性测试:使用常见的安全测试工具和技术,检查网站是否存在安全漏洞。
4. 测试结果
经过一段时间的测试,我们发现了一些潜在的问题和改进点:
- 功能缺陷:在用户注册和订单生成过程中,存在部分功能无法正常使用的情况,需要进一步优化和修复。
软件工程实验
软件工程实验
1. 实验简介
软件工程实验是一门实践性较强的课程,旨在培养学生的软件开发能力和团队协作能力。通过实验,学生将实际操作软件开发过程中的各个环节,从需求分析到系统设计再到编码和测试,全面掌握软件工程的基本原理和方法。
2. 实验目的
- 了解软件工程的基本概念和原理;
- 学习使用常见的软件工程工具和技术;
- 培养团队合作和项目管理能力;
- 提高软件开发和调试的实践能力;
- 增强学生的问题解决能力和创新能力。
3. 实验内容
实验内容根据具体的实验教材或实验项目而定,可以包括以下方面:
3.1 需求分析
对一个给定的软件需求进行分析,理解用户需求和约束条件,明确软件的功能和非功能需求。
3.2 系统设计
根据需求分析的结果,进行系统设计,包括系统架构设计、模块划分和接口设计等。
3.3 编码与测试
基于系统设计的结果,进行源代码编写和功能测试。需要使用合适的编程语言和开发工具,编写实现系统功能的代码,并进行测试验证。
3.4 文档撰写
编写软件开发过程中所需的文档,如需求规格说明书、概要设计文档等。文档应具备清晰、详细、准确、易于理解的特点,方便后期项目维护和扩展。
3.5 团队协作
在实验过程中,学生需要组成小组,通过团队协作的形式完成实验任务。团队协作包括任务分配、进度管理、合作交流等方面。
4. 实验步骤
根据具体的实验项目而定,一般包括以下步骤:
4.1 组队
按要求组成小组,确定小组成员以及各自的角色和职责,明确团队协作的方式和目标。
4.2 需求分析与设计
根据给定的软件需求,进行需求分析和系统设计。可以使用UML工具进行建模,绘制用例图、活动图、类图等。
软件测试实验报告
一、引言
软件测试是软件开发过程中非常重要的一个环节,其目的是为了保证软件在上线运行前能够达到预期的质量和可靠性。在软件测试过程中,软件测试实验报告是记录测试整个过程的一种重要方式。本文将介绍软件测试实验报告的必要性和编写方法。
二、软件测试实验报告的必要性
软件测试实验报告是测试人员向项目经理、开发工程师和其他项目相关方分享测试结果的一种形式。它不仅仅是改进软件质量的工具,更是在测试过程中实时记录每个小步骤。下面列举了一些软件测试实验报告的必要性:
1.高效沟通:软件测试实验报告是测试团队与开发团队之间的桥梁。报告中的测试结果可以帮助开发团队更好的理解软件测试情况,并根据测试结果进行调整和优化。
2.准确记录测试过程:软件测试实验报告对测试过程进行实时记录,防止测试者遗漏某些重要的测试点或步骤,确保测试结果的准确性和完整性。
3.统计测试覆盖范围:通过软件测试实验报告统计测试覆盖范围,可以验证测试团队是否已经对软件功能进行全面的测试,全面检查软件是否符合相关的标准和要求。
三、编写软件测试实验报告的方法
软件测试实验报告可能是每个测试人员最熟悉和了解的文档格式之一。下面介绍编写软件测试实验报告的方法:
1.标题页:标题页包括公司名称、文件名称、软件版本信息、编写日期和测试人员名称等信息。
2.摘要:写本次报告目的、测试范围和测试结果,简要的概括本次测试的主要信息。
3.测试环境:记录软件测试过程中的环境信息,并用表格的形式向读者表述。
4.测试计划:在测试计划部分中,需要详细说明什么本次测试的目的;测试的重点在哪里;哪些测试是必须进行的。
《软件工程》课程实验报告
四、实验过程与结果
性能需求
1.系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学院对信息处理的需求。并且不能重复复两个学号的信息。
2.系统的开放性和系统的可扩充性
学生信息系统在开发过程中,应该充分考虑以后的可扩充性。比如数据在某个时间段的数据输入拥堵。或者数据多的时候,应该确保系统有足够的空间给数据的输入和存储。
3.系统的易用性和易维护性
学生信息系统针对的大部分是学生,因此系统应该更见简单,便捷。UI界面应更加的简单易懂。同时在维护数据的时候应该更加的方便。这样避免了因为错误的操作而到导致数据的流逝。
2.3用户平台要求
网络方面:
此开发出的软件要适用于Internet网及校园内的局域网。
软件方面:
支持windows系统及一些常用的办公软件如office等。
硬件方面:
可以被个人电脑、平板以及功能强大的移动设备所使用。
一.业务逻辑
1.1业务分解
1.2业务流图
A)学生信息管理:
B)学业信息管理:
C)学分建设:
D)学生奖助信息管理:E)学生活动管理:F)素质测评:
五、实验总结
在本次实验,熟悉了需求分析的一般步骤,进一步弄清了业务需求、用户需求、功能和非功能需求之间的区别。对于一个系统,我知道一开始从哪几个方面对系统进行评价。通过画用例图,能更清新的看清使用者的操作流程,并认识到了用例图在软件或系统开发过程中的重要性,本次实验学到很多。
软件测试单元测试实验报告
软件测试单元测试实验报告
引言:
软件测试是保证软件质量的重要环节之一,其中单元测试是软件测试的基础。
本文将对软件测试中的单元测试进行实验报告,介绍实验目的、实验环境、实
验方法、实验结果和实验总结。
实验目的:
本次实验的目的是通过单元测试,验证被测软件模块的正确性和稳定性,发现
和修复潜在的缺陷,提高软件的质量。同时,通过实验也可以加深对单元测试
的理解和掌握。
实验环境:
本次实验使用的是Java语言和JUnit测试框架。实验环境包括Java开发工具
(如Eclipse)和JUnit测试框架的安装和配置。
实验方法:
1. 确定被测软件模块:根据实验要求,选择一个具有一定复杂度的软件模块进
行测试。本次实验选择了一个简单的字符串处理模块作为被测模块。
2. 编写测试用例:根据被测软件模块的功能和需求,设计并编写一组合理的测
试用例。测试用例应覆盖被测模块的所有分支和边界情况,以尽可能发现潜在
的缺陷。
3. 编写测试代码:使用JUnit框架,根据设计的测试用例编写相应的测试代码。测试代码应包括测试数据的准备、测试过程的执行和测试结果的验证。
4. 执行单元测试:在实验环境中执行编写好的单元测试代码,观察测试结果。
5. 分析测试结果:根据测试结果,判断被测软件模块的正确性和稳定性。如果
测试通过,说明被测模块的功能正常;如果测试失败,说明存在缺陷,需要进
行修复。
实验结果:
在本次实验中,针对被测的字符串处理模块,设计了多组测试用例,并编写了
相应的测试代码。通过执行单元测试,观察到以下结果:
1. 大部分测试用例通过了测试,说明被测模块的功能正常。
软件工程实验报告
学号:
姓名:
专业:
年月
实验一:白盒测试
一、实验目的
巩固白盒测试知识,对于给定的待测程序,能熟练应用基本控制流覆盖方法设计测试用例;能够执行白盒测试过程,并撰写白盒测试分析报告。
二、实验内容
白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。测试规划基于产品内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试方法。
白盒测试将被测程序看做一个打开的盒子,测试者能够看到被测源程序,可以分析被测程序的内部结构,此时测试的焦点集中在根据其内部结构设计测试用例。白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试”。
测试内容包括语句覆盖测试、分支覆盖测试、条件覆盖测试、分支/条件覆盖测试、条件组合覆盖测试和基本路径测试。
三、程序代码
要求:实现对不少于10个随机输入的数的冒泡排序算法。
#include
using namespace std;
int main()
{
double a[100];
int N;
int i = 0, j = 0;
cin >> N;//排序元素的个数
for (i = 0; i <= N; i++)
{
cin >> a[i];
}
for (i = 0; i < N-1 ; i++) {
for (j = 0; j < N - 1 - i; j++)
{
if (a[j] > a[j + 1]) {
int tmp;
tmp = a[j];
a[j] = a[j + 1];
软件测试基础—案例
一、软件测试案例1
应用程序:饭店订餐系统
功能:客户可以登录系统,查看饭店的菜肴信息、价格、口味,并下单,通过网上支付购买餐点。
功能测试用例:
1)验证登录功能:
输入正确的用户名和密码,验证是否能正确登录系统。
2)查看菜肴信息:
进入菜单界面,检查菜肴信息是否准确无误。
3)下单功能:
正确选择菜肴,检查是否可以正确下单。
4)支付功能:
选择支付方式,检查是否可以正确支付订单。
二、软件测试案例2
应用程序:汽车售后服务系统
功能:客户可以登录系统,查看汽车售后服务的服务信息和价格,并下订单,手机短信通知服务人员上门服务。
功能测试用例:
1)验证登录功能:
输入正确的用户名和密码,验证是否能正确登录系统。2)查看服务详情:
进入服务界面,检查服务信息是否准确无误。
3)下订单功能:
正确选择服务,检查是否可以正确下订单。
4)消息推送功能:
模拟客户下单后,检查服务人员是否收到短信通知。
软件技术基础实验指导书
2014年9月1日
目录
实验一斐波那契数列的实现算法及分析 (3)
实验二顺序表的实现与应用 (5)
实验三链表的实现和应用 (7)
实验四栈的实现和应用 (9)
实验五队列 (11)
实验六二叉树的创建和遍历 (12)
实验七图 (15)
实验八哈夫曼树及哈夫曼编码 (16)
实验九查找算法的实现 (19)
实验十内部排序算法的实现 (26)
实验十一迷宫问题 (29)
实验十二 B+树程序设计 (30)
实验十三四叉树程序设计 (31)
实验十四修路方案问题 (32)
实验一斐波那契数列的实现算法及分析实验目的:
1.掌握分别用递归和非递归方法计算斐波那契(Fibonacci)数列。
2.掌握算法性能测试的方法,并能进行算法分析和比较。
实验环境(硬/软件要求):
Windows 2000, VisualC++ 6.0
实验内容:
二阶Fibonacci数列的定义如下:F0=1,F1=1, F2=2,F3=3,F4=5,。。。。,Fi=F(i-1)=F(i-2) (i>=1).试用递归法和非递归法两种方法写出计算Fn的函数。
实验要求:
1.完成计算Fn的递归函数Fib-rec.
2.完成计算Fn的非递归数列Fib-ite.
3.当n=10,15,20,25,30,35,40,45时测试以上两种算法执行的时间,并把测试结果填写在
附表1-1中。
附表1-1 测试表
注:表格中填写的是测试时间,单位μm.
4.试解释两种算法在执行时间上的不同,并对两种算法进行算法分析。
【C语言源程序】
#include
#include
软件测试实验报告
《软件测试》实验报告书
安徽⼯业⼤学计算机学院
姓名马超
专业软件⼯程
班级132
学号139074191
指导教师刘卫红
2016年 5⽉
实验⼀⽤例设计与⿊盒测试
⼀、实验⽬的
(1)能够熟练应⽤⿊盒测试技术进⾏测试⽤例设计。
(2)对测试⽤例进⾏优化测试。
⼆、实验设备
主流PC机⼀套,安装有主流的编程⼯具如MyEclipse、C、Visual C++三、实验内容
为QQ的注册账号功能设计测试⽤例。
注册账号功能部分截图如下:
等价类划分
有效等价类编号⽆效等价类编号昵称不为空空
密码长度为6-16个字符⾮长度为6-16个字符
或9位以下纯数字不是9位以下纯数
字
不包含空格包含空格
确认密码与密码栏输⼊⼀致与密码栏输⼊不⼀致
性别男/⼥不选择(⽆法做到)⽣⽇选择合法有效⽇期不选择
所在地选择合法有效地址不选择(⽆法做到)验证码验证正确验证不正确不验证
⼿机号码输⼊合法有效⼿机
号码输⼊⼿机号码不合法或
⽆效
不输⼊
短信验证码输⼊正确验证码输⼊错误验证码
不输⼊(有效与否由
⼿机号码栏是否输
⼊决定)
不输⼊(有效与否由⼿
机号码栏是否输⼊决
定) 同意开通QQ空间勾选/不勾选
我已阅读并同意相
关服务条款和隐私
政策
勾选不勾选
其中,密码栏和确认密码栏,⼿机号码栏和短信验证码栏之间有约束关系,采⽤因果图法原因:密码: 1 输⼊合法密码确认密码: 3 与密码栏⼀致
2 输⼊合法密码 4 与密码栏不致
结果: 5后续操作 6 报错
O约束(唯⼀);1或2和3或4必须有且仅有1个为1。
原因:
⼿机号码: 1 输⼊短信验证码: 3输⼊
2 不输⼊ 4 不输⼊
软件测试实验报告⼀
《软件测试与质量管理》实验报告
学号::
机器号:程序名:
实验容:(⼀)⽩盒测试
⼀、⽬的和要求
1、掌握⽩盒测试技术,并能应⽤⽩盒测试技术设计测试⽤例
2、能⽤Junit实施测试
⼆、实验容
void DoWork(int x,int y,int z){
1 int k=0,j=0;
2 if(( x>
3 ) && ( z<10 ))
3 {
4 k=x*y-1;
5 j=sqrt(k);
6 }
7 if(( x= =4 ) || ( y>5 ))
8 j=x*y+10;
9 j=j%3;
10 return j;
11 }
说明:程序段中每⾏开头的数字(1~11)是对每条语句的编号。
(1)分别以语句覆盖、判定覆盖、条件覆盖和路径覆盖⽅法设计测试⽤例,并写出每个测试⽤例的执⾏路径(⽤题中给出的语句编号表⽰)。
(2)编写Java类,调⽤该⽅法,并⽤Junit测试⼯具编写测试代码进⾏测试。
三、实验流程图
流程图
四、测试⽤例的编写
语句覆盖:
P1:(1-2-3-4-5-6-7-8-9-10-11)令x=4,y=6,z=6;M=T, N=T T1,T2,T3,T4
P2:(1-2-3-4-5-6-9-10-11)令x=6,y=4,z=6;M=T,N=F T1,T2,F3,F4
P3:(1-7-8-9-10-11)令x=2,y=6,z=6;M=F,N=T F1,T2,F3,T4 P4:(1-9-10)令x=2,y=4,z=12; M=F, N=F F1,F2,F3,F4
判定覆盖:
条件覆盖:
路径覆盖: