软件测试实验报告一
- 格式:doc
- 大小:184.50 KB
- 文档页数:5
软件测试实验报告
一、实验内容
本次实验的目的是通过白盒测试技术来对一个接口进行测试,目的是
为了评估接口的可用性和功能性,以及其在各种参数下的表现。
二、实验方法
1.确定测试的边界值:首先,根据接口文档,确定出各个参数的最小值、最大值和正常值,并根据边界值理论,选择出8个典型的测试值,即
最小值、最小值减一、最小值加一、正常值、正常值减一、正常值加一、
最大值、最大值加一,用于确定测试的边界。
2.编写测试用例:用确定的边界值,编写测试用例,以检测接口的可
用性和功能性。
3.执行测试:将编写的测试用例应用到实际情况中,对接口进行测试,并获得测试结果。
三、实验结果
1.测试结果:经过本次白盒测试,发现接口在各个参数下能够正常工作。
2.整体结论:在确定的边界值范围内,接口表现正常,可以满足对该
接口的功能和可用性的要求。
四、实验的建议
本次实验证明,白盒测试在评估接口的可用性和功能性方面是有效的。
但是,为了进一步提高接口的性能,还需要进行更加全面的测试,比如性
能测试、安全测试等,以便获得更好的测试效果。
软件测试实验报告
实验目的:了解软件测试的基本概念与方法,掌握软件测试的基本操作。
实验内容:
1. 编写测试用例:根据给定的软件需求文档,编写软件测试用例。
测试用例应包含输入数据、预期输出和实际输出。
2. 执行测试用例:使用测试工具或手动执行测试用例,记录测试结果。
3. 分析测试结果:根据实际输出和预期输出,分析测试结果,判断软件是否符合需求。
实验步骤:
1. 阅读给定的软件需求文档,了解要测试的软件功能和特性。
2. 根据需求文档编写测试用例,包括输入数据、预期输出和实际输出。
3. 执行测试用例,记录实际输出。
4. 分析测试结果,判断软件是否符合需求。
5. 根据测试结果,提出软件改进的建议或修复bug。
实验结果:
经过测试,软件的大部分功能都符合需求,但在某些特定情况下出现了bug。
建议开发人员针对这些问题进行修复和优化。
实验总结:
本次实验让我初步了解了软件测试的基本概念和方法,通过编写测试用例和执行测试用例,我掌握了软件测试的基本操作。
通过实践,我体会到了软件测试对于软件质量保证的重要性,以及测试结果对软件改进的指导意义。
我将继续学习和探索更多的软件测试技术,提高自己在软件测试方面的能力。
成绩实验一一、实验内容录制样例程序的登录过程并插入检查点验证登录是否成功:密码为mercury,用户名可为任意四个以上字母。
"C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe"二、实验目的1、熟悉QTP的开发环境2、熟悉QTP的开发步骤3、掌握检查点的插入方法三、实验脚本systemutil.Run "C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe"Dialog("Login").WinEdit("Agent Name:").Set DataTable("name", dtGlobalSheet)S=Dialog("Login").WinEdit("Agent Name:").GetROProperty("text")Dialog("Login").WinEdit("Password:").SetSecure"4f6ff8b593d09ce3972f6a0d11d268bce155fcd1"Dialog("Login").WinButton("OK").ClickIf len(S)<4 ThenDialog("Login").Dialog("Flight Reservations").Static("Agent name must be at least 4 characters long.").Check CheckPoint("Agent name must be at least 4 characters long.") Dialog("Login").Dialog("Flight Reservations").WinButton("确定").ClickDialog("Login").WinButton("Cancel").ClickelseWindow("Flight Reservation").ActivateWindow("Flight Reservation").Static("Date of Flight:").Check CheckPoint("Date of Flight:")Window("Flight Reservation").CloseEnd If四、实验结果。
实验一黑盒测试
一、实验目的及要求
实验目的:
1、能熟练应用功能性测试技术进行测试用例设计;
2、对测试用例进行优化设计;
实验原理:
测试“日期推算”程序
该程序的功能是输入一个日期,输出该日期后两天的日期,例如输入2014年1月1日,则输出2014年1月3日。
现在假设“日期推算”程序已经被开发出来了,请对该程序进行功能测试,要求用尽可能少的测试用例检测出尽可能多的软件缺陷。
二、实验环境
一台装有windows操作系统的计算机,vc++6.0
三、实验内容
为了方便,我们不考虑闰年的问题,默认为2月都是28天,假设限定输入数据均为整数,日期中年份的有效值范围为1000~9999。
四、实验步骤
1.选定测试方法
2.等价类划分
划分等价类的方法有:
按区间划分、按数值划分、按数值集合划分、按限制条件划分、按限制规则划分等。
确定了等价类后,可建立等价类表。
3.执行测试用例
请根据“日期推算”程序功能要求,自行开发该程序。
4.测试执行结果,并统计,填入表中。
实验报告内容要求:1.实验目的:理解黑盒测试的基本方法, 掌握等价类划分法和边界值方法设计测试用例。
2.实验内容:1)输入三个整数a、b、c, 分别作为三角形的三条边, 通过程序判断这三条边是否能构成三角形?如果能构成三角形, 则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。
要求输入三个整数a、b、c, 必须满足以下条件:1≤a≤100;1≤b≤100;1≤c≤100。
要求:a.大家用自己熟悉的编程语言, 实现上面问题的描述。
b.请用等价类设计测试用例。
2) 程序有三个输入变量month、day、year(month、day和year均为整数值, 并且满足: 1≤month≤12.1≤day≤31.1900≤ year ≤2050。
), 分别作为输入日期的月份、日、年份, 通过程序可以输出该输入日期在日历上下一天的日期。
例如, 输入为2005年11月29日, 则该程序的输出为2005年11月30日。
请用黑盒测试方法的边界值设计测试用例。
3.实验步骤:步骤一: 编写源程序并运行该程序。
步骤二: 测试用例设计。
1)三角形判定问题1.对测试用例进行等价类划分:2 6 6 5 等腰三角形 63 6 5 6 等腰三角形74 5 6 6 等腰三角形85 6 6 6 等边三角形96 -5 6 6 输入非法107 6 0 6 输入非法118 6 6 3.6 输入非法129 0 -5 6 输入非法1310 5.6 6 -2 输入非法1411 6 0 3.5 输入非法1512 3.5 5.6 4.5 输入非法1613 6 - - 请输入数据1714 - 5 - 请输入数据1815 - - 5 请输入数据1916 6 6 - 请输入数据2017 6 - 4 请输入数据2118 - 5 6 请输入数据2219 - - - 请输入数据2320 5 6 15 不能构成三角形2421 6 7 13 不能构成三角形2522 4 10 5 不能构成三角形2623 6 10 4 不能构成三角形2724 5 6 15 不能构成三角形2825 7 8 15 不能构成三角形29 3.测试截图2)NextDay问题1.对测试用例进行边界值分析:各变量分别取: 最小值、略大于最小值、正常值、略小于最大值、最大值。
软件测试技术实验报告软件测试技术实验报告概述:软件测试是保证软件质量的重要环节,它涉及到多种技术和方法。
本实验报告将介绍几种常见的软件测试技术,包括黑盒测试、白盒测试、灰盒测试以及自动化测试。
通过对这些技术的实际应用和比较分析,我们可以更好地了解它们的特点和适用场景。
一、黑盒测试黑盒测试是一种基于功能需求的测试方法,它不关心软件内部的实现细节,只关注输入和输出之间的关系。
在黑盒测试中,测试人员不需要了解软件的内部结构,只需要根据需求文档设计测试用例并执行测试。
黑盒测试的优点是能够全面覆盖功能需求,但缺点是无法发现代码中的逻辑错误。
二、白盒测试白盒测试是一种基于代码结构的测试方法,它需要测试人员了解软件的内部实现细节。
在白盒测试中,测试人员可以通过查看源代码、执行路径覆盖等方法来设计测试用例。
白盒测试的优点是能够发现代码中的逻辑错误,但缺点是测试人员需要具备一定的编程和调试能力。
三、灰盒测试灰盒测试是黑盒测试和白盒测试的结合,它既关注功能需求,又关注代码结构。
在灰盒测试中,测试人员可以根据需求文档设计测试用例,并结合代码结构来进行测试。
灰盒测试的优点是能够发现功能缺陷和代码逻辑错误,但缺点是测试人员需要具备一定的领域知识和代码分析能力。
四、自动化测试自动化测试是利用软件工具来执行测试用例的测试方法,它可以提高测试效率和准确性。
在自动化测试中,测试人员可以使用脚本语言编写测试脚本,并通过自动化测试工具来执行测试。
自动化测试的优点是可以重复执行测试用例,减少人工测试的工作量,但缺点是需要投入一定的时间和资源来开发和维护测试脚本。
五、实验结果与分析在本次实验中,我们分别使用了黑盒测试、白盒测试、灰盒测试和自动化测试来测试一个简单的计算器软件。
实验结果表明,黑盒测试和灰盒测试能够覆盖大部分功能需求,并发现了一些输入输出不一致的问题;白盒测试能够发现代码中的逻辑错误,但测试用例设计相对复杂;自动化测试能够提高测试效率,但需要投入一定的开发和维护成本。
《软件测试技术》实验报告实验一单元测试专业:班级:学号:姓名:完成时间:2020年月日实验一单元测试(4学时)实验类别:基本实验实验目的:1、掌握黑盒测试技术,并能应用黑盒测试技术设计测试用例。
2、掌握白盒测试技术,并能应用白盒测试技术设计测试用例。
3、掌握对测试用例进行优化设计方法。
4、掌握单元测试技术,并按单元测试的要求设计测试用例。
5、掌握一种单元测试工具的使用。
实验内容:一、黑盒测试题目:选择1个完成。
1.题目一:电话号码问题某城市电话号码由三部分组成。
它们的名称和内容分别是:(1)地区码:空白或三位数字;(2)前缀:非'0'或'1'的三位数字;(3)后缀:4位数字。
假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。
根据该程序的规格说明,作等价类的划分,并设计测试方案。
2.题目二:三角形问题根据下面给出的规格说明,利用边界值测试的方法,给出足够的测试用例。
“一个程序读入三个整数。
把此三个数值看成是一个三角形的三个边。
这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。
”3.题目三:日期问题用决策表测试法测试以下程序:该程序有三个输入变量month、day、year(month 、day 和year均为整数值,并且满足:1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。
例如,输入为2004 年11月29日,则该程序的输出为2004年12月1日。
(1) 分析各种输入情况,列出为输入变量month 、day 、year 划分的有效等价类。
(2) 分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即列出所有的动作桩)。
(3) 根据(1) 和(2) ,画出简化后的决策表。
4.题目四:自动售货机问题向自动售货机中投入1元或5角硬币,并按下【橙汁】或【可口可乐】按钮,则相应饮料送出来。
软件测试实习报告
一、实习背景
本人于xx年xx月进入xx公司担任软件测试实习岗位,实习期间主要负责xx产品的测试工作。
本实习旨在通过实际工作锻炼自身测试能力并进一步了解软件测试的相关知识。
二、实习内容
1. 熟悉测试流程
针对公司的产品测试流程,了解了测试计划、测试用例、测试执行、测试报告等相关流程,并根据实际情况制定测试计划和测试用例。
2. 学习测试工具
学习并使用了公司内部的测试工具,如JIRA、Testlink等,理解并掌握其使用方法和功能。
3. 测试执行
在测试计划和测试用例的基础上,完成了xx产品的测试执行,并不断发现和报告测试中发现的缺陷。
4. 缺陷管理
根据缺陷严重程度和处理优先级,及时反馈缺陷并协助开发人
员完成缺陷修复。
5. 项目组协作
参与项目组成员的讨论和会议,了解项目的进展情况及时调整
测试工作内容。
三、实习收获
通过本次实习,本人向测试职业方向更进一步迈进,了解了测试工作的流程和方法。
实践中加深对软件测试的理解,同时也提升了沟通、协作和解决问题的能力。
四、建议
1. 在测试计划阶段,应尽量详细地了解文档,便于编写完整的测试用例。
2. 需要更加深入地了解公司内部的测试工具,有利于提高测试工作效率。
3. 需要加强对软件测试相关理论知识的学习,有利于更好地理解和掌握测试工作方法。
五、总结
通过本次实习,不仅感受到了软件测试的工作氛围,还通过实践提高了自身测试技能和解决问题的能力。
本次实习对于自己职业生涯的发展起到了很大的推动作用。
一、实验目的本次实验旨在通过实际操作,让学生掌握软件测试的基本理论、方法和技巧,提高学生的实际动手能力,培养学生的团队协作精神和问题解决能力。
通过本次实验,使学生能够:1. 理解软件测试的基本概念和原则;2. 掌握常用的测试用例设计方法;3. 熟悉测试工具的使用;4. 提高测试报告的编写能力;5. 培养良好的团队协作精神和沟通能力。
二、实验内容本次实验分为以下几个部分:1. 软件测试基础知识2. 测试用例设计3. 测试工具使用4. 测试报告编写5. 团队协作与沟通三、实验过程1. 软件测试基础知识(1)介绍软件测试的基本概念、原则和类型;(2)讲解软件测试的流程和方法;(3)分析软件测试中的常见问题及解决方案。
2. 测试用例设计(1)分析软件需求规格说明书,提取测试需求;(2)根据测试需求设计测试用例,包括功能测试、性能测试、安全测试等;(3)对测试用例进行评审,确保测试用例的完整性和有效性。
3. 测试工具使用(1)介绍常用的测试工具,如Selenium、JMeter、LoadRunner等;(2)讲解测试工具的基本操作和功能;(3)进行实际操作,使用测试工具进行测试用例的执行和结果分析。
4. 测试报告编写(1)讲解测试报告的基本格式和内容;(2)根据测试结果,编写测试报告,包括测试概述、测试结果、问题分析、建议等;(3)对测试报告进行评审,确保报告的准确性和完整性。
5. 团队协作与沟通(1)分组,每个小组负责一个模块的测试;(2)明确各小组成员的职责,确保测试任务的顺利进行;(3)进行小组讨论,分享测试经验和问题,提高团队协作能力;(4)与其他小组进行沟通,协调测试进度,确保整个项目的顺利进行。
四、实验结果与分析1. 实验结果本次实验,各小组均完成了测试任务,并编写了测试报告。
通过实际操作,学生掌握了软件测试的基本理论、方法和技巧,提高了实际动手能力。
2. 实验分析(1)测试用例设计方面:学生在测试用例设计过程中,能够根据需求规格说明书,提取测试需求,设计出较为完整的测试用例。
软件测试实验报告⼀《软件测试与质量管理》实验报告学号::机器号:程序名:实验容:(⼀)⽩盒测试⼀、⽬的和要求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,T4P2:(1-2-3-4-5-6-9-10-11)令x=6,y=4,z=6;M=T,N=F T1,T2,F3,F4P3:(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判定覆盖:条件覆盖:路径覆盖:五、Junit测试源程序:public class DoWork {public DoWork(int x,int y,int z){ int k=0,j=0; if((x>3) && (z<10)){k=x*y-1;j=(int) Math.sqrt(k);}if((x==4)||(y>5))j=x*y+10;j=j%3;}public boolean doWork(int x,int y,int z){return true ;}}测试⽤例(路径覆盖)1. import junit.framework.*;import org.junit.Test;public class TestDoWork1 extends TestCase { private static int x,y,z; private static DoWork dowork=new DoWork(x,y,z);public void setUp() throws Exception {}Testpublic void testDoWork() {assertEquals(true, dowork.doWork(4, 6, 6));}}2. import junit.framework.*;import org.junit.Test;public class TestDoWork2 extends TestCase { private static int x,y,z; private static DoWork dowork=new DoWork(x,y,z);public void setUp() throws Exception {}Testpublic void testDoWork() {assertEquals(true, dowork.doWork(6, 4, 6));}}3. import junit.framework.*;import org.junit.Test;public class TestDoWork3 extends TestCase { private static int x,y,z; private static DoWork dowork=new DoWork(x,y,z);public void setUp() throws Exception {}Testpublic void testDoWork() {assertEquals(true, dowork.doWork(2, 6, 6));}}4. import junit.framework.*;import org.junit.Test;public class TestDoWork4 extends TestCase { private static int x,y,z; private static DoWork dowork=new DoWork(x,y,z);public void setUp() throws Exception {}Testpublic void testDoWork() {assertEquals(true, dowork.doWork(2, 4, 12));}}六、⼼得与体会通过本次实验,我对⽩盒测试的测试⽤例有了进⼀步的了解。
软件测试实习报告
在这次软件测试的实习中,我深刻地认识到了软件测试在软件开发过程中的重
要性。
通过实习,我不仅学到了理论知识,还有了实际操作的经验,对软件测试有了更深入的理解。
首先,我在实习中学习了软件测试的基本知识,包括测试的分类、测试的方法
和测试的流程等。
我了解到软件测试是在软件开发的各个阶段中进行的,其目的是为了发现和解决软件中存在的缺陷。
在实习中,我通过与导师的交流和自主学习,对软件测试的理论知识有了更加清晰的认识。
其次,我在实习中积累了丰富的实践经验。
我参与了多个软件测试项目,包括
功能测试、性能测试和安全测试等。
在这些项目中,我学会了如何制定测试计划、设计测试用例、执行测试和编写测试报告。
通过实践,我不断提升了自己的测试能力,掌握了更多的测试技巧和方法。
另外,实习让我了解到了团队合作的重要性。
在软件测试项目中,团队成员之
间需要密切合作,相互协助,共同完成测试任务。
通过与团队成员的合作,我学会了如何与他人有效地沟通、协调和合作,这对我未来的工作也是非常有帮助的。
总的来说,这次软件测试的实习让我收获颇丰。
我不仅学到了丰富的理论知识,还积累了宝贵的实践经验。
我相信这些知识和经验将对我未来的软件测试工作产生重要的影响。
我会继续努力学习,不断提升自己的软件测试能力,为软件质量的保障做出更大的贡献。
软件测试的实习报告到此结束。
第1篇一、实验目的本次实验旨在通过人工测试方法对软件进行全面的测试,验证软件的功能、性能、兼容性以及用户体验等方面,确保软件质量达到预期标准。
通过本次实验,提高学生对软件测试流程和方法的掌握,培养实际操作能力。
二、实验环境1. 操作系统:Windows 102. 测试工具:Microsoft Visual Studio 20193. 软件版本:待测试软件版本号4. 硬件配置:CPU:Intel Core i5-8265U,内存:8GB,硬盘:256GB SSD三、实验内容1. 测试计划制定根据待测试软件的功能和需求,制定详细的测试计划,包括测试范围、测试方法、测试用例设计、测试环境搭建、测试资源分配等。
2. 测试用例设计根据测试计划,设计测试用例,包括功能测试用例、性能测试用例、兼容性测试用例、用户体验测试用例等。
3. 测试环境搭建根据测试计划,搭建测试环境,包括硬件、软件、网络等方面的配置。
4. 测试执行按照测试用例,对软件进行功能测试、性能测试、兼容性测试和用户体验测试。
5. 缺陷报告在测试过程中,记录发现的缺陷,并编写缺陷报告,包括缺陷描述、复现步骤、优先级、严重性等。
6. 缺陷跟踪对已提交的缺陷进行跟踪,关注缺陷修复进度,确保缺陷得到有效解决。
7. 测试总结完成所有测试任务后,对测试过程和结果进行总结,分析测试过程中的问题和不足,提出改进措施。
四、实验步骤1. 测试计划制定- 分析待测试软件的功能和需求,确定测试范围;- 确定测试方法,包括黑盒测试、白盒测试、灰盒测试等;- 设计测试用例,包括功能测试用例、性能测试用例、兼容性测试用例、用户体验测试用例等;- 搭建测试环境,包括硬件、软件、网络等方面的配置。
2. 测试用例设计- 根据测试计划,设计测试用例,包括功能测试用例、性能测试用例、兼容性测试用例、用户体验测试用例等;- 测试用例应覆盖所有功能点,确保测试全面性。
3. 测试环境搭建- 根据测试计划,搭建测试环境,包括硬件、软件、网络等方面的配置;- 确保测试环境与实际运行环境一致,以便更准确地反映软件的实际性能。
本科实验报告课程名称:软件测试技术实验项目:软件测试技术试验实验地点:实验楼专业班级:学生姓名:指导教师:谢红薇2015年10月14 日太原理工大学学生实验报告int dowork(int x,int y,int z){int k=0,j=0;if((x>0)&&(z<10)){k=x*y-1;j=sqrt(k);}if((x==4)||(y>5))j=x*y+10;j=j%3;return j;}void main(){int x, y ,z,j;printf("输入x,y,z的值");scanf("%d%d%d",&x,&y,&z);j=dowork(x,y,z);printf("j的值%d",j);}3、设计用例并运行记录分析设判定条件M=(x>0)&&(z<10)N=(x==4)||(y>5)设路径P1( abcdefhijl)=M and NP2(abcdefhkl)=M and /NP3(abgijl)=/M and NP4(abgkl)=/M and/N1.语句覆盖输入{x=4,y=8,z=9} 输出{j=0} 覆盖路径P1(abcdefhijl)2.判定覆盖输入{x=4,y=8,z=9} 输出{j=0} 覆盖路径P1(abcdefhijl)输入{x=4,y=4,z=15} 输出{j=0} 覆盖路径P3(abgijl)3.条件覆盖对于第一个判定条件M,分割如下条件x>0取真时为T1,取假时为F1。
条件z<10取真时为T2,取假时为F2。
对于第二个判定条件N,分割如下条件x==4取真时为T3,取假时为F3。
条件y>5取真时为T4,取假时为F4。
测试用例取值条件具体取值通过路径输入{x=4,y=3,z=15}输出{j=1}T1,F2,T3,F4 x>0,z>=10,x==4,y<=5 P3(abgijl)输入{x=0,y=8,z=7}输出{j=1}F1T2,F3,T4 x<=0,z<10,x!=4,y>5 P3(abgijl)4.判定-条件覆盖测试用例取值条件具体取值判定条件通过路径输入{x=4,y=8,z=8} 输出{j=2,k=27} T1,T2,T3,T4 x>0,z<10,x==4,y>5 M,N P1(abcdefhijl)输入{x=0,y=3,z=15} 输出{j=0,k=0} F1F2,F3,F4 x<=0,z>=10,x!=4,y<=5/M,/N P4(abgkl)5.条件组合覆盖组合编号覆盖条件取值判定条件取值判定条件组合1 TI,T2 M x>0,z<10,M取真2 TI,F2 /M x>0,z>=10,M取假3 FI,T2 /M x<=0,z<10,M取假4 FI,F2 /M x<=0,z>=10,M取假5 T3,T4 N x==4,y>5,N取真6 T3,F4 N x==4,y<=5,N取真7 F3T4 N x!=4,y>5,N取真8 F3,F4 /N x!=4,y<=5,N取假测试用例测试用例取值条件覆盖路径覆盖组合T1,T2,T3,T4 P1(abcdefhijl) 1,5 输入{x=4,y=8,z=8}输出{j=0}输入{x=4,y=4,z=15}T1F2,T3,F4 P3(abgijl) 2,6 输出{j=2}F1,T2,F3,T4 P3(abgijl) 3,7 输入{x=0,y=8,z=8}输出{j=1}F1F2,F3,F4 P4(abgkl) 4,8 输入{x=0,y=3,z=15}输出{j=0}6.路径覆盖测试用例覆盖路径覆盖条件覆盖组合P1(abcdefhijl) T1,T2,T3,T4 1,5 输入{x=4,y=8,z=8}输出{j=0}输入{x=3,y=3,z=8}P2(abcdefhkl) T1F2,F3,F4 1,8 输出{j=2}P3(abgijl) F1,F2,F3,T4 4,7 输入{x=0,y=7,z=15}输出{j=1}P4(abgkl) F1F2,F3,F4 4,8 输入{x=0,y=4,z=15}输出{j=0}五、讨论心得在试验过程中,我们对于白盒测试还是没有熟练的掌握,还需要不断地练习,但是我们也已经收获了很多,特别是路径测试,我们掌握到了路径测试的一些方法,知道了划分路径的方法,,怎样设计测试用例。
软件测试实验报告姓名:*******专业:********************* 班级:***********学号:*************日期:2011-5-25实验一:黑盒测试一、实验目的:了解三角形问题的边界值分析测试用例。
二、实验要求:在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。
在此,我们将三角形每边边长的取范围值设值为[1, 100] 。
在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。
利用这些信息能够确定下列输出(值域)等价类。
R1 = { <a,b,c>: 边为a,b,c的等边三角形}R2 = { <a,b,c>: 边为a,b,c的等腰三角形}R3 = { <a,b,c>: 边为a,b,c的一般三角形}R4 = { <a,b,c>: 边为a,b,c不能组成三角形}三、实验程序:#include "iostream.h"void main(){int a,b,c;cout<<"请输入1<=a<=100或1<=b<=100或1<=c<=100"<<endl;cin>>a>>b>>c;if((1<=a&&a<=100)&&(1<=b&&b<=100)&&(1<=c&&c<=100)){if(a+b>c&&a+c>b&&c+b>a){if(a==b&&a==c&&c==b){ cout<<"三角形为等边三角形"<<endl;}else if(a==b||a==c||c==b){cout<<"三角形为等腰三角形"<<endl;}else if((a*a+b*b)==c*c||(c*c+b*b)==a*a||(a*a+c*c)==b*b){cout<<"三角形为直角三角形"<<endl;}else cout<<"a,b,c可组成三角形"<<endl;}else cout<<"不存在a,b,c组成的三角形"<<endl;}else cout<<"a或b或c的值不合法,无法判断"<<endl;}四、测试用列:用列ID a b c 预期输出1 1 1 1 三角形为等边三角形2 2 2 1 三角形为等腰三角形3 345 三角形为直角三角形4 2 2 2 三角形为等边三角形5 2 3 3 三角形为等腰三角形6 4 3 5 三角形为直角三角形7 5 4 3 三角形为直角三角形8 1 1 2 不存在a,b,c组成的三角形9 4 2 2 不存在a,b,c组成的三角形10 2 4 2 不存在a,b,c组成的三角形11 4 2 5 不存在a,b,c组成的三角形12 0 0 0 a或b或c的值不合法,无法判断13 0 1 1 a或b或c的值不合法,无法判断14 2 0 12 a或b或c的值不合法,无法判断15 13 13 0 a或b或c的值不合法,无法判断16 100 100 100 三角形为等边三角形17 100 100 0 a或b或c的值不合法,无法判断18 100 12 101 a或b或c的值不合法,无法判断19 100 12 100 不存在a,b,c组成的三角形20 90 90 80 三角形为等腰三角形五、等价类划分:输入条件有效等价类编号无效等价类编号三角形a+b>c&&a+c>b&&c+b>a&&a=b& &c=b 1 a<1,a>100,b<1,b>100,c<1,c>1005a+b>c&&a+c>b&&c+b>a&&a=b||c=b2a+b>c&&a+c>b&&c+b>a&& 3非三角形a+b<c||a+c<b||c+b<a 4六、实验结论:通过实验要求的条件编写的程序和测试用列的预期输出证明给该程序是正确的实验二:黑盒测试1.一、实验目的:了解xtDate函数的边界值分析测试用例。
广东*融学院实验报告
课程名称:软件测试
实验编号
实验一黑盒测试方法实验系别
及实验名称
姓名学号班级
实验地点实验日期2018.3.26 实验时数 4
指导老师同组其他成员无成绩
一、实验目的及要求
1、理解测试用例的重要性。
2、熟练掌握等价类划分、边界值方法、决策表和因果图法设计测试用例。
二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等)
1.使用软件:装有QTP功能测试软件
2.实验设备:装有Windows的联网的个人计算机
三、实验内容及步骤(包含简要的实验步骤流程)
1、实验题目:登陆框测试
在各种输入条件下,测试程序的登录对话框功能。
用户名和密码的规格说明书如下:(密码规则同用户名规则。
)
•用户名长度为6至10位(含6位和10位);
•用户名由字符(a-z、A-Z)和数字(0-9)组成;
•不能为空、空格和特殊字符。
要求:按照规格说明书,分别用等价类划分和边界值方法设计测试用例。
步骤:(1)分析规格说明书,确定输入条件、输出条件的有效等价类、无效等价类以及各个边界条件;(2)第二步:填表格并编号;(3)第三步:设计测试用例;(4)第四步:执行测试用例。
2、员工薪制问题。
(1)年薪制员工:严重过失,扣年终风险金的4%,过失,扣年终风险金的2%。
(2)非年薪制员工:严重过失,扣月薪资的8%,过失,扣月薪资的4%。
步骤:(1)分析程序的规格说明,列出原因和结果;(2)找出原因与结果的因果关系、原因与原因之间的约束关系,画出因果图;(3)将因果图转化成决策表;(4)根据决策表,设计测试用例的输入数据和预期输出。
四、实验结果(包括程序或图表、结论陈述、数据记录及分析等,可附页)
等价类划分方法:
从输入域来对等价类进行划分:
编号输入条件有效等
价类无效等价类
E1 用户名长度小于6位是
E2 用户名长度大于10位是
E3 用户名为空是
E4 用户名包含空格是
E5 用户名包含特殊字符是
E6 用户名长度为6至10位(含6位和10位),且由字符
(a-z、A-Z)和数字(0-9)组成,且用户名不为空、
不含空格和特殊字符
是
E7 密码长度小于6位是
E8 密码长度大于10位是
E9 密码为空是
E10 密码包
空格
是
E11 密码包含特殊字符是
E12 密码长度为6至10位(含6位和10位),且由字符(a-z、
A-Z)和数字(0-9)组成,且密码不为空、不含空格和
特殊字符
是
五、实验总结(包括心得体会、问题回答及实验改进意见,可附页)
通过本次实验,我理解了测试用例的重要性。
熟练掌握了等价类划分、边界值方法、决策表和因果图法设计测试用例。
六、教师评语
1、完成所有规定的实验内容,实验步骤正确,结果正确;
2、完成绝大部分规定的实验内容,实验步骤正确,结果正确;
3、完成大部分规定的实验内容,实验步骤正确,结果正确;
4、基本完成规定的实验内容,实验步骤基本正确,所完成的结果基本正确;
5、未能很好地完成规定的实验内容或实验步骤不正确或结果不正确。
评定等级:
签名:
附四-1、实验结果(包括程序或图表、结论陈述、数据记录及分析等,可附页)
与上表对应的测试用例
①假设密码格式正确
测试用例编号输入用户名期望输出对应等价类
Test1 hahah 用户名长度小于6位E1
Test2 Hahahahhahaha 用户名长度大于10位E2
Test3 用户名不能为空E3
Test4 Ha ha 用户名不能包含空格E4
Test5 哈哈用户名不能包含特殊
字符
E5
Test6 Haha233 用户名合法 E6 ② 假设用户名格式正确
从输出域来对等价类进行划分 与上表对应的测试用例 边界值划分方法:
(1) 首先假设其他条件正确,从用户名和密码长度角度确定边界
变量 变量取值 等价类编号 备注 用户名
用户名长度小于6 E1 无效等价类 [6, 10]
E2 有效等价类 密码长度大于10 E3 无效等价类 密码
密码长度小于6
E4 无效等价类 [6, 10]
E5 有效等价类 密码长度大于10
E6 无效等价类 (2) 根据相关边界值来设计测试用例 测试用例编号 用户名 密码 预期输出 Test1
Haha5
haha233
用户名长度小于6
测试用例编号 输入密码 期望输出
对应等价类 Test7 hahah 密码长度小于6位 E7 Test8 Hahahahhahaha 密码长度大于10位 E8 Test9 密码不能为空 E9 Test10 Ha ha 密码不能包含空格 E10 Test11 哈哈 密码不能包含特殊字符 E11 Test12 Haha233
密码合法 E12 编号 输入用户名和密码 有效等价类 无效等价类 E13
输入用户名和密码长度为6至10位,且由字母a-z 和数字0-9组成
是
E14 输入用户名和密码长度为6至10位,且由字母A-Z 和数字0-9组成
是
E15 输入用户名和密码长度为6至10位,且由字母A-Z 、a-z 和数字0-9共同组成
是
测试用例编号 输入用户名和密码 期望输出 对应等价类 Test13 haha233 用户名和密码合法 E13 Test14 HAHA233 用户名和密码合法 E14 Test15
Haha233
用户名和密码合法
E15
Test2 Hahah6 haha233 合法 Test3 Hahaha7 haha233 合法 Test4 Hahahaha9 haha233 合法 Test5 Hahahaha10 haha233 合法
Test6 Hahahahah11 haha233 用户名长度大于10 Test7 haha233 Haha5 密码长度小于6 Test8 haha233 Hahah6 合法 Test9 haha233 Hahaha7 合法 Test10 haha233 Hahahaha9 合法 Test11 haha233 Hahahaha10 合法
Test12
haha233
Hahahahah11
密码长度大于10
2. (1)根据规格需求,列出原因和结果 原因:C1:员工是年薪制员工 C2:员工是非年薪制员工 C3:严重过失 C4:过失
结果:S1:扣年终风险金4% S2:扣年终风险金2% S3:扣月薪资8% S4:扣月薪资4% (3) 画出因果图
(4) 列出条件桩和动作桩
条件桩 动作桩
规则个数
C1:员工是年薪制员工 S1:扣年终风险金4% 24=16
C2:员工是非年薪制员工 S2:扣年终风险金2% C3:严重过失 S3:扣月薪资8% C4:过失 S4:扣月薪资4%
S5:不可能
(5) 填入条件项。
其中:F 表示取假,T 表示取真 (6) 填入动作项。
得到决策表。
C1
C2
C3
C4
E S1
S2
S3
S4
∧
∧ ∧
∧
E
规则
选项
1 2 3 4 5 6 7 8
条件C1:员工是年薪制员工T T F F T F / / C2:员工是非年薪制员工 F F T T T F / / C3:严重过失T F T F / / T F C4:过失 F T F T / / T F
动作S1:扣年终风险金4% √
S2:扣年终风险金2% √
S3:扣月薪资8% √
S4:扣月薪资4% √
S5:不可能√
(7)根据决策表设计测试用例
测试用例编号C1 C2 C3 C4 预测输出
Test1 T F T F 该员工扣年终风险金4%
Test2T F F T 该员工扣年终风险金2%
Test3 F T T F 该员工扣月薪资8%
Test4 F T F T 该员工扣月薪资4%
Test5T T ??不可能
Test6 F F ??不可能
Test7? ? T T 不可能
Test8? ? F F 不可能
附五-1、实验总结(包括心得体会、问题回答及实验改进意见,可附页)
问题回答:
1、什么是软件缺陷?
答:软件缺陷是指计算机系统或程序中存在的各种各样的破坏正常运行能力的问题、错误或者功能缺陷、瑕疵,主要表现形式是结果出错、功能失效、与用户需求不一致等。
2、常见的黑盒测试方法有哪些?
a)等价类划分法
b)边界值分析法
c)决策表法
d)因果图法
e)谓词测试法
3、决策表中是如何确定规则个数的?
对于规则,可以合并。
将具有相同动作,并且其条件项之间存在着极为相似关系的两条或多条规则合并为一条规则。
若条件桩条件个数为n,每个条件有m个取值,则规则个数为m^n
4、因果图法设计测试用例有哪些优势?
测试人员可以从因果图中选择不同的输入组合作为测试用例,从而有效地解决测试数量的组合爆炸问题。