




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件测试实验指导书邓 松应用软件开发教研室实验一 程序白盒单元测试 一、实验目的和要求 了解程序结构的分析方法,掌握白盒测试技术测试用例的设计。 二、实验内容(包括步骤、方法等) 1.用C语言编写的一个求一元二次方程的求解程序p1如下: #include #include void main()float a,b,c,x1,x2,t,d;printf(“enter a,b,c:”);scanf(“%f%f%f”,&a,&b,&c);if(a=0) x1=-c/b;elsed=b*b-4*a*c;t=2*a;x1=-b/t;if(d=0) x2=sqrt(d)/t;else x2=sqrt(-d)/t;if(a=0) /输出一次方程根 printf(“root=%fn”,x1);else if(d=0) /输出实根 printf(“real root:n”);printf(“root1=%f,root2=%fn”,x1+x2,x1-x2); else /输出复根 printf(“complex root:n”);printf(“root1=%f+%fin”,x1,x2);printf(“root2=%f-%fin”,x1,x2); (2)画出程序流程图,并指出路径的走向(如P1:1-2-3)。(紫色代码部分) (3)根据语句覆盖的方法,设计测试用例。 (4)根据判定覆盖的方法,设计测试用例。 2.已知如下程序段 beginif(age25) AND (sex=M) then comm=comm+150;if(age=50 OR (comm2000.0) then comm=comm-200;end; (1)画出程序流程图,并指出路径的走向(如P1:1-2-3)。 (2)根据判定覆盖的方法,设计测试用例。 (3)根据条件组合+路径覆盖的方法,设计测试用例。 三、主要实验仪器及材料 能够提供学生一人一台电脑,C/C+或Java编程环境。 实验二 程序黑盒测试 一、实验目的和要求 熟悉掌握黑盒测试中的等价类划分、边界值、因果图等方法。 二、实验内容(包括步骤、方法等) 1、等价类划分方法 (1)三角形问题等价类划分设计测试用例 分析三角形问题中的逻辑,用等价类划分的方法先划分等价类,然后设计测试用例。 (2)NextDate问题,对它的输入进行分析,划分等价类,然后根据等价类设计测试用例。 4、边界值和因果图 (1)NextDate问题用边界值分析法设计测试用例 分析NextDate问题中的逻辑,用边界值分析法的思想设计测试用例。 (2)有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下橙汁或啤酒的按钮,则相应的饮料酒送出来。若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时再投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示零钱找完的红灯灭,在送出饮料的同时退还5角硬币。 用因果图法对自动售货机设计测试用例。 三、主要实验仪器及材料 能够提供学生一人一台电脑,C/C+或Java编程环境。 实验三 基于应用服务器的测试 一、实验目的和要求 掌握常见应用服务器的测试方法。 二、实验内容(包括步骤、方法等) 1. 基于Web服务器应用的测试 (1)常用的Web元素功能测试。 页面链接测试、设计语言测试、Web图形测试、表单测试 (2)Web安全性测试 (3)Web负载测试 2. 基于数据库应用服务器的测试 (1)数据库服务器性能测试 (2)数据库并发控制测试 3. 基于J2EE平台的测试 (1)实用对象的单元测试 (2)事务对象的单元测试 (3)servlet的单元测试 (4)JSP单元测试 (5)数据库访问层的单元测试 三、主要实验仪器及材料 能够提供学生一人一台电脑,C/C+或Java编程环境,JUnit/LoadRunner等测试工具。 实验四 软件测试自动化 一、实验目的和要求1. 掌握Eclipse 和JUnit操作界面的组成。2. 着重掌握如何在不同的环境中使用JUnit来作为自动化的功能测试工具。二、实验内容(包括步骤、方法等)1、使用Eclipse 中的JUnit 工具建立第一个测试,eclipse 的当前版本可以从它的官方网站()下载。JUnit 也可以从它的官方网站()上下载,下载并解压缩到你硬盘中存放java libaries 的地方。打开Eclipse,建立一个新的工程的工作空间(workplace project) 点File - New -Project,选择Java 一路Next。输入工程名称(project name),比如ProjectWithJUnit. 点击完成。这样就建立了一个新工程,配置一下Eclipse,把JUnit library 添加到build path。点击Project-Properties,选择Java Build Path Libraries, 点Add Exteranal JARs 选中JUnit.jar。可以看到JUnit 将会出现在的屏幕上libraries 列表中。点Okay,Eclipse 将强制rebuild 所有的buildpaths.为了方便起见, 假定将要写的类名是HelloWorld 有一个返回字符串的方法say()。要建立这样一个test, 在ProjectWithJUnit 标题上右键, 选择New -Other,展开Java, 选择JUnit. 在对话框的右边一拦里选择TestCase,接着点Next. 参见图1。图1。在Eclipse 中建立JUnit test在Test class:一栏里输入需要测试的class-HelloWorld。并且给Test case取个名称- 比如,TestThatWeGetHelloWorldPrompt,点Finish 完成。下面是TestThatWeGetHelloWorldPrompt.java 的代码:public class TestThatWeGetHelloWorldPrompt extends TestCase public TestThatWeGetHelloWorldPrompt( String name) super(name);public void testSay() HelloWorld hi = new HelloWorld();assertEquals(Hello World!, hi.say();public static void main(String args) junit.textui.TestRunner.run( TestThatWeGetHelloWorldPrompt.class);这个代码继承了JUnit 的TestCase. (TestCase 在JUnit 的javadoc 里定义是用来运行多个Test 的固定装置)。JUnit 也定义了TestSuite 由于一组关联的TestCase 组成.通过以下两步来建立简单的Test Case;(a) 建立Junit.framework.TestCase 的实例。(b) 定义一些以test开头的测试函数,并且返回一空值.(比如testWasTranscationSuccessful(),testShow()等等)。TestThatWeGetHelloWorldPrompt.java 同时遵循这些标准:这些TestCase 的子类含有一个testSay()的方法。这个方法由assertEquals()方法调用,用于检验say()的返回值(按照这里的做法返回应该是不一致,因为一开始建立的HelloWorld 设定让say()返回的值是null)。main()主函数是用来运行test 并且显示输出的结果。JUnit 的TestRunnery以(swing.u)图形和本文(text.ui)的的方式来执行test 并反馈信息。使用文本(text.ui),这个Eclipse 肯定支持。(所谓文本和图形,是指在建立TestCase的时候,有一个选项,Which method stubs would you like to create,选择text.ui| swing.ui|awt.ui,一般是选择text.ui 因为Eclipse 肯定支持这个), 依照这些文本的信息,Eclipse 同时会生成图形显示。(在Package Exploer的下面Tab 条上会多个JUnit,点它就看到了:)。一旦跑起了test,应该看到返回一些错误的信息。点Run- Run as - JUnitTest(注意, 这个TestThatWeGetHelloWorldPrompt.java 应该在PackageExplorer 被点中,在左边那个window 中),点到的应该是JUnit window(就是下面的那个Tab 条,注意不是Package Exploer),可以看到JUnit window,会显示一个红色条,表示是一个失败的Test。(如果按了运行但没有自动转到这个窗口,可以点做下Tab 条上的JUnit 标签。)现在正式开始建立用于工作的HelloWorld 代码,-点New-Class,可能和原来的的重复,那就把原来的删掉。代码如下:HelloWolrd.javapublic class HelloWorld public String say() return(Hello World!);现在再来测试一下看看结果。就用上面的方法,点Run- Run As Jnit. 在左边的JUnit 窗口中出现了一个绿条。看图三。出现绿色的条表示测试通过了。现在,再变个条件,让测试不通过。这将帮助我们理解JUnit test 怎样覆盖并且报出不同的错误。编辑assertEquals()方法,把它的返回值从HelloWorld!变成另外一个值比如Hello ME!. 这样,当你再运行这个JUnit test,那个显示条又变成红的了,并且在Failuer Trace 里看到是不是什么导致了错误。如图:2、针对管理学院网站设计黑盒测试用例,并实践之。3、采用LoadRunner,针对一个试题库的性能测试。试题库在内部web 服务器上,假设开设50 个账号和密码可供50 个考生同时参加考试。要求,每台机器只能由一个用户使用,每个用户只能使用各自不同的账号登录考试系统,做完题目后,要求提交考试结果,若在制定的时间内不提交,则系统强制提交考试结果。但是,一般测试部门不可能有50 台机器同时进行测试的。所以,可以借Loadrunner7.51 模拟IP 地址,修改脚本来协助测试。但是,为了保证测试结果,建议搜罗所有可用的机器进行复测,因为有时候是不可以完全信赖工具的。(a)测试要求50 个用户拥有独立IP 地址,不同的用户及密码登录,试题完成后各自同时提交。(b)测试内容50 个用户以不同的用户名和密码登录试题库。试题完成后,提交考试结果。测试考试结果是否能正常提交以及正确评分。(c)测试方案(1) 完全20 台实际的PC 机进行现场测试。1) 准备工作,并做计划。第一轮测试执行三遍,设定用户考试内容全部同时提交,第一遍全部使用IE5.0,第二遍10 台使用IE5.0,10 台使用IE6.0,第三遍全部使用IE6.02) At 9:00 ,20 个用户同时登录系统3) At 9:05 ,20 个用户同时全部提交4) 分别记录第一轮测试(三遍)的结果5) 第二轮测试准备工作,设定15 个用户考试内容同时提交,另外5 个用户延时5 分钟提交,全部使用IE5.06) At 9:15 ,20 个用户同时登录系统7) At 9:20 ,15 个用户同时提交8) At 9:25 ,剩余5 个用户同时提交9) 记录第二轮测试结果10) 第三轮测试准备工作,设定15 个用户考试内容同时提交,另外5 个用户延时5 分钟提交,全部使用IE6.011) At 9:15 ,20 个用户同时登录系统12) At 9:20 ,15 个用户同时提交13) At 9:25 ,剩余5 个用户同时提交14) 记录第三轮测试结果15) 第四轮测试准备工作,设定15 个用户考试内容同时提交,另外5 个用户延时5 分钟提交,正常提交用户使用IE5.0,延时提交用户使用IE6.016) At 9:15 ,20 个用户同时登录系统17) At 9:20 ,15 个用户同时提交18) At 9:25 ,剩余5 个用户同时提交19) 记录第四轮测试结果20) 第五轮测试准备工作,设定15 个用户考试内容同时提交,另外5 个用户延时5 分钟提交,正常提交用户使用IE6.0,延时提交用户使用IE5.021) At 9:15 ,20 个用户同时登录系统22) At 9:20 ,15 个用户同时提交23) At 9:25 ,剩余5 个用户同时提交24) 记录第五轮测试结果25) 第六轮测试准备工作,设定15 个用户考试内容同时提交,另外5 个用户延时5 分钟提交,正常提交用户其中10 个使用IE5.0,5 个使用IE6.0,延时提交用户使用IE5.026) At 9:15 ,20 个用户同时登录系统27) At 9:20 ,15 个用户同时提交28) At 9:25 ,剩余5 个用户同时提交29) 记录第六轮测试结果30) 第七轮测试准备工作,设定10 个用户考试内容同时提交,另外10 个用户分两次分别延时5 分钟、15 提交31) At 9:35 ,20 个用户同时登录系统32) At 9:40 ,10 个用户同时提交33) At 9:45 ,剩余的其中5 个用户同时提交34) At 9:55 ,剩余的5 个用户同时提交35) 记录第七轮测试结果,参见第二轮测试第六轮测试过程分别对IE5.0 和IE6.0 的情况进行测试36) 第八轮测试准备工作,设定其中10 个用户不提交,由系统强行提交37) At 10:10 ,20 个用户同时登录系统38) At 10:15 ,10 个用户同时提交39) 其余用户的内容由系统强行提交40) 记录第八轮测试结果,参见第二轮测试第六轮测试过程分别对IE5.0 和IE6.0 的情况进行测试41) 第九轮测试准备工作,设定其中10 个用户同时提交,5 个用户延时5 分钟提交,其余用户由系统强行提交42) At 10:25 ,20 个用户同时登录系统43) At 10:30 ,10 个用户同时提交44) At 10:35 ,剩余的其中5 个用户同时提交45) 剩余5 个用户系统强制提交46) 记录第九轮测试结果,参见第二轮测试第六轮测试过程分别对IE5.0 和IE6.0 的情况进行测试(2) 模拟20 个用户进行测试。其中,10 台是PC 机,另外10 台机器的IP地址是Loadrunner 模拟出来的。1) 在10 台实际的PC 机中抽取其中一台虚拟10 个IP 地址,包括自身的IP 地址,该机器上共11 个IP 地址,这11 个IP 地址只能全部使用IE5.0 或者全部使用IE6.02) 其余9 台实际的PC 机分别由9 个人操作,另外一台机器由一位质控部人员操作3) 对于异常情况,延时提交和强制提交全部由实际的机器来模拟4) 其余过程参见(1)(3) 模拟20 个用户进行测试。其中,5 台是PC 机,另外15 台机器的IP地址是用Loadrunner 模拟出来的。1) 在5 台实际的PC 机中抽取其中一台虚拟15 个IP 地址,包括自身的IP 地址,该机器上共16 个IP 地址,这16 个IP 地址只能全部使用IE5.0 或者全部使用IE6.02) 其余4 台实际的PC 机分别由4 个人操作,另外一台机器由一位质控部人员操作3) 对于异常情况,延时提交和强制提交全部由实际的机器来模拟4) 其余过程参见(1)(4) 模拟35 个用户进行测试。其中,20 台是PC 机,另外15 台机器的IP地址是用Loadrunner 模拟出来的。1) 在20 台实际的PC 机中抽取其中两台分别虚拟7 个、8 个IP 地址,这17 个IP 地址只能全部使用IE5.0 或者全部使用IE6.02) 其余18 台实际的PC 机分别由18 个人操作,另外两台机器由两位质控部人员操作3) 对于异常情况,延时提交和强制提交全部由实际的机器来模拟4) 其余过程参见(1)(5) 模拟50 台用户进行测试。其中,20 台是PC 机,另外30 台机器的IP地址是用分别用两台实际的PC 机模拟出来的。记录测试结果。1) 在20 台实际的PC 机中抽取其中两台分别虚拟15 个IP 地址,这32 个IP 地址只能全部使用IE5.0 或者全部使用IE6.02) 其余18 台实际的PC 机分别由18 个人操作,另外两台机器由两位质控部人员操作3) 对于异常情况,延时提交和强制提交全部由实际的机器来模拟4) 其余过程参见(1)(6) 对(5)中所述情况重复测试两次。(7) 为了保证结果的正确性,完全50 台实际的PC 机进行现场测试。过程参见(1)(d)测试过程注:该测试过程针对虚拟IP 地址情况。(1) 一台PC 机上创建15 个虚拟
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年老年病科考试题及答案
- 2025年公路检验工程师桥梁隧道工程章节试题及答案
- 桃子类培训知识课件
- 公务员甄选面试题及答案
- 2025年残疾人专职委员招聘考试复习策略与建议
- 2025年经济师高级考试必-备微观经济学模拟题解析
- 2025年城市规划与管理专业公务员考试冲刺题库
- 2025年VR初级笔试工程师答案
- 2025年贸促会政府会计实操模拟题及答案
- 福建省莆田市七中2026届高二化学第一学期期中质量跟踪监视模拟试题含解析
- 湖北省武汉市武昌区重点名校2026届中考语文全真模拟试题含解析
- 2.4抽象函数的周期性与对称性-讲义(原卷版)
- 喷粉挂钩管理办法
- 2025手机维修服务合同范本
- 风电场安全规程考试题库(附答案)
- 肠内营养患者护理质量提升措施
- DB11∕T 1205-2024 用能单位能源审计报告编制与审核技术规范
- 苯职业病防护课件
- (高清版)DB11∕T 2442-2025 学校食堂异物管控规范
- 扬尘污染矿山管理办法
- 母乳喂养教学课件
评论
0/150
提交评论