1、word软件质量保证与测试实验指导书 某某:学号: 班级:软 指导教师:目录实验一用例设计与黑盒测试21.实验目的22.实验设备23.实验内容34.实验要求3实验二 WEB测试131.实验目的132.实验设备133.实验内容144.实验要求14实验三代码分析与单元测试171.实验目的172.实验设备183.实验内容184.实验要求26实验四性能测试与结果分析261.实验目的262.实验设备273.实验内容274.实验要求27实验一 用例设计与黑盒测试1. 实验目的(1) 能够熟练应用黑盒测试技术进展测试用例设计(2) 对测试用例进展优化测试2. 实验设备主流PC机一套,安装有主流的编程工具如M
2、yEclipse、C、Visual C+3. 实验内容1三角形问题:输入三个正整数a、b、c1-200,分别作为三角形的三条边,通过程序判断三条边是否能构成三角形?如果能构成三角形,判断三角形的类型等边三角形、等腰三角形、一般三角形。 请用黑盒测试的方法设计测试用例。 2NextDate问题:输入三个变量month、day和year,输出:输入日期后一天的日期,比如:输入为1986年6月9日,如此该函数的输出应为1986年6月10日。年份为1-2050年。请用黑盒测试的方法设计测试用例。程序界面如下:3选做内容:课件中的其他问题,或者,实现一个登陆模块,用户名要求由字母和数字组成且第一个必须是
3、字母,长度为6-10,密码由六位数字组成,请根据黑盒测试的方法设计测试用例。4. 实验要求(1) 根据题目要求,编写相关程序。三角形问题:核心代码:privatevoidbutton2_Click(objectsender, EventArgse)/重新输入 textBoxA.Text = ;textBoxB.Text = ;textBoxC.Text = ;textBoxXZ.Text = ; privatevoidbutton1_Click(objectsender, EventArgse)/判断形状 stringa = textBoxA.Text.Trim();stringb = tex
4、tBoxB.Text.Trim();stringc = textBoxC.Text.Trim();if (IsInt(a)&IsInt(b)&IsInt(c)intia = int.Parse(a);intib = int.Parse(b);intic = int.Parse(c);if (IsIn1To200(ia) & IsIn1To200(ib) & IsIn1To200(ic)if (ia + ib = ic | ia + ic = ib | ib + ic = 1 & cs = 1 & year 12 | month 31 | day 0) return本月是闰月,请在1-29之间从
5、新输入日期; if (month = 2 & day = 29) month = 3;day = 1; elseday+; elseday+;/月底计算;switch (month) case 1:case 3:case 5:case 7:case 8:case 10:if (day = 32) month+;day = 1;return+year + / + month + / + day ; break;case 2:if (day = 29) month = 3;day = 1;return + year + / + month + / + day; break;case 4:case
6、6:case 9:case 11:if (day = 31) month+;day = 1;return + year + / + month + / + day; break;case 12:if (day = 32) year+;month = 1;day = 1;return + year + / + month + / + day; break; return + year + / + month + / + day; (2) 撰写实验报告,并给出设计的测试用例对程序进展测试三角形问题:测试用例用例编号abc预期结果实际结果1112不能构成三角形不能构成三角形2101010等边三角形等
7、边三角形3202025等腰三角形等腰三角形4232830一般三角形一般三角形5参数输入非法参数输入非法6-1-1-1参数输入超限参数输入超限7210210210参数输入超限参数输入超限8空格空格空格参数输入非法参数输入非法9空白空白空白参数输入非法参数输入非法10ABC参数输入非法参数输入非法11!%*参数输入非法参数输入非法12好啊哈参数输入非法参数输入非法局部测试截图NextDate问题:用例ID月份日期年预期输出1-341220012001年4月12日443020012001年5月1日54312001不可能6-911520012001年1月16日1013120012001年2月1日11-
8、14121520012001年12月16日15123120012002年1月1日1621520012001年2月16日1722820042004年2月29日1822820012001年3月1日1922920042005年3月1日202292001不可能21,222302001不可能选做内容测试用例:用例编号用户名密码预期结果1h12345123456合法2h12345123不合法3h123451234567不合法4h12345123a56不合法5h1234123456不合法6123456不合法7123j124123456不合法8%123ahdf123456不合法实验二 Web测试掌握用例执行与
9、缺陷报告的书写方法。主流PC机一套,网络通畅。测试NBA英文版,报告四个缺陷。将所发现的四个缺陷进展详细描述,撰写实验报告,描述缺陷可使用中文,附件假如必要,也可使用视频,截取图片或抓取视频时,需要有浏览器的标题栏和地址栏。附:缺陷描述样本:Bug Title: Home-Login linkdoes not work in IE6OS & BS: Windows XP Professional SP3 + IE6Bug Type:FunctionalSeverity Degree: MediumAction Steps:1. Visit NBA Home with IE6: 2. Click
10、 LoginExpect Result:Go to the login page.Actual Result: No response. BTW: FF10 and Chrome 17 NO this issue.Bug Attachment:缺陷1:Bug Title: IE8下界面排版混乱OS & BS: Windows XP Professional SP3 + IE8Bug Type:界面Severity Degree: 较小缺陷Action Steps:1. 用IE8浏览器打开网址: Expect Result: 界面排版显示正常.Actual Result: 界面排版混乱,不紧凑。
11、Bug Attachment:期望效果图:IE8实际截图:缺陷2:Bug Title: IE8情况下不显示Sign按钮和Sign Up按钮OS & BS: Windows XP Professional SP3 + IE8Bug Type:功能Severity Degree: 较小缺陷Action Steps:1. 用IE8浏览器打开网址: Expect Result: Sign按钮和Sign Up按钮在右上侧正常显示.Actual Result: Sign按钮和Sign Up按钮被隐藏了Bug Attachment:IE8实际截图搜狗浏览器截图:缺陷3:Bug Title: Chat、Co
12、nnect、Exchange左侧图标不显示OS & BS: Windows XP Professional SP3 + IE8Bug Type:界面Severity Degree: 轻微缺陷Action Steps:1. 用IE8浏览器打开网址: Expect Result: Chat、Connect、Exchange左侧图标显示正常Actual Result: Chat、Connect、Exchange左侧图标不显示Bug Attachment:IE8实际截图:期望效果图:缺陷4:Bug Title: 点击“English(US)Change Language,只有一个选项可选OS & BS
13、 Windows XP Professional SP3 + 搜狗浏览器Bug Type:功能Severity Degree: 较小缺陷Action Steps:1. 用搜狗浏览器打开: 2. 点击左下角“English(US)Change LanguageExpect Result: 显示可选择的多种语言列表.Actual Result: 只有EnglishUS这一个选项.Bug Attachment:实验三 代码分析与单元测试掌握白盒测试方法,并用白盒测试方法设计测试用例;掌握使用Junit进展单元测试的方法。主流PC机一套,安装有主流的编程工具如MyEclipse、C、Visual C
14、题目一:为以下流程图所示的程序段设计一组测试用例要求:1分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。答:语句覆盖:用例XY执行路径覆盖语句1-1-1abd引用语句1211abe引用语句23176acg引用语句3判断覆盖:用例XY执行路径覆盖判断1-1-1abd判定1的N,2的N211abe判定1的N,2的Y3176acg判定1的Y,3的Y4128acf判定1的Y,3的N条件覆盖:将X8真为T1,假为F1将5真为T2,假为F2将X0真为T3,假为F3将0真为T4,假为F4将X16真为T5,假为F5将10真为T6,假为F6用例XY执行路径覆盖条件1-1-1abd
15、F1,F2,F3,F4,F5,F621812acgT1,T2,T3,T4,T5,T6判定/条件覆盖:用例XY执行路径覆盖判断覆盖条件1-1-1abd判定1的N,2的NF1,F2,F3,F4,F5,F6211abe判定1的N,2的YF1,F2,T3,T4,F5,F631711acg判定1的Y,3的YT1,T2,T3,T4,T5,T64139acf判定1的Y,3的NT1,T2,T3,T4,F5,F6条件组合覆盖:组合1:X8,Y5 T1,T2组合5:X0,Y0 T3,T4组合9:X16,Y10 T5,T6组合2:X8,Y0,Y16,Y=10 T5,F6组合3:X5 F1,T2组合7:X0 F3,T
16、4组合11:X10 F5,T6组合4:X=8,Y=5 F1,F2组合8:X=0,Y=0 F3,F4组合12:X=16,Y=10 F5,F6用例XY执行路径覆盖条件组合覆盖条件11711acg1,5,9T1,T2,T3,T4,T5,T62170abe2,6,10T1,F2,T3,F4,T5,F63011abe3,7,11F1,T2,F3,T4,F5,T6400abd4,8,12F1,F2,F3,F4,F5,F6路径覆盖:用例XY覆盖路径1-1-1abd211abe31711acg4139acf2将流程图转换成N-S图,并估算至少需要多少个测试用例完成逻辑覆盖?由于图中并不存在并列的层次,最少测试
17、用例数由并列的操作数决定,即为1+1+1+1=4。题目二:折半查找请按要求对下面的Java代码进展测试。代码的功能是:用折半查找法在元素呈升序排列的数组中查找值为key的元素。public int binSearch(int array,int key)12int mid,low,high;3low=0;4high=array.length-1;5while(low=high)6mid=(low+high)/2;7if(key=arraymid)8return mid;9else if(keyarraymid)10high=mid-1;11else12low=mid+1;1314return
18、1;15(1) 用根本路径测试给出测试路径;画出控制流图:计算圈复杂度:V(G)=3+1=4导出独立路径:路径1:515路径2:57815路径3:5791013515路径4:5791213515(2) 为各测试路径设计测试用例。测试用例输入数据预期输出1array=null,key=2-12array2=1,2,key=103array0=1,2,3,4,5,key=214array0=1,2,3,4,5,key=43题目三:设计一个加减乘除的计算器程序,利用Junit实施自动测试计算器代码:publicclass JSQ privatestaticintresult; /运行结果publi
19、cvoid add(int n)/加法result = result + n;publicvoid substract(int n)/减法result = result - n; publicvoid multiply(int n)/乘法result = result * n;publicvoid divide(int n)/除法if (n=0) result=0;return;result = result / n;publicvoid square(int n)/平方result = n * n;publicvoid clear() / 清零result = 0;publicint get
20、Result()returnresult;测试程序代码:importstatic org.junit.Assert.*;import org.junit.Before;import org.junit.Test;publicclass JSQTest privatestatic JSQ jsq = new JSQ();Beforepublicvoid setUp() throws Exception jsq.clear();Testpublicvoid testAdd() /fail(Not yet implemented);jsq.add(2);jsq.add(3);assertEquals
21、5, jsq.getResult();Testpublicvoid testSubstract() /fail(Not yet implemented);jsq.add(11);jsq.substract(-3);jsq.substract(9);assertEquals(17, jsq.getResult();Testpublicvoid testMultiply() /fail(Not yet implemented);jsq.add(20);jsq.multiply(5);assertEquals(100, jsq.getResult();Testpublicvoid testDivi
22、de() /fail(Not yet implemented);jsq.add(12);jsq.divide(3);assertEquals(4, jsq.getResult();Testpublicvoid testSquare() /fail(Not yet implemented);jsq.square(3);assertEquals(9, jsq.getResult();TestpublicvoidtestClear() /fail(Not yet implemented);Testpublicvoid testGetResult() /fail(Not yet implemented
23、);测试结果:出错模块:检测后发现是测试代码出的错误,修改后对于题目一、题目二,根据题目要求编写测试用例。对于题目三,给出程序和测试的源代码,并附上测试执行成功与否的截图。撰写实验报告。实验四 性能测试与结果分析1. 实验目的1掌握性能测试的原理,与使用LoadRunner进展性能测试的方法;2掌握分析测试结果的根本方法。2. 实验设备3. 实验内容1配置一个用户登陆系统;2录制脚本即创建虚拟用户脚本;3创建场景设置用户数=100,并执行场景;4分析测试结果。4. 实验要求撰写实验报告,填写上机测试步骤和内容,包括:录制的测试脚本,场景的设置和测试结果图。脚本录制测试步骤:启动设置虚拟用户开始录制选项设置:30 / 30