免费预览已结束,剩余14页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北大学软件学院 实践考核类课程(二)实验报告软件测试技术实验报告 姓 名黄泓余鑫淼王天纯周彪学 号黄泓 20083442余鑫淼 20093482王天纯 20093480周彪 20093486班 级软件0907班指 导 教 师实验名称功能性测试方法与结构性测试方法开 设 学 期2011 2012第二学期评 定 成 绩评定人签字评 定 日 期东北大学软件学院2010年10月18分工:黄泓:实验1三种测试方法测试用例的设计;余鑫淼:实验1被测程序代码编写;王天纯:实验2被测程序编写,画流程图与测试用例设计;周彪:实验2JUnit测试程序编写;实验1功能性测试方法(4学时)1实验目的掌握功能性测试方法。2.实验类型综合性。3实验参考题目对电话账单来说,春季和秋季的标准时间与夏时制时间的转换会带来有意思的问题。春季,这种转换发生在(3月末、4月初的)星期日凌晨2:00时,这时时钟要设置为凌晨3:00时。对称的转换通常发生在10月最后一个星期日,时钟要从2:59:59调回到2:00:00。请为采用以下费率计算用户的每月通话费:通话时间20分钟时,收费100美元,超过20分钟的部分,每分钟010美元,不到1分钟时按1分钟计算。假设:通话计费时间从被叫方应答开始计算,到呼叫方挂机时结束。没有超过20个小时的通话。4实验内容(1)找到可测试的内容,或对实验参考题目进行编码(程序语言自定)。(2)根据实验内容设计测试用例,要求分别是用边界值分析、等价类测试和决策表测试方法生成测试用例。(3)执行测试用例,并记录测试结果。(4)编写实验报告,实验报告的内容包括测试用例的测试结果、程序中存在的bug、以及这三种测试用例生成方法对于揭露程序的错误有什么异同点。程序初始版代码清单:import java.util.*;public class Fee public static void main(String args)int beginSet=0,endSet=0;Date beginDate=null,endDate=null;int isSpeaking=0;int set=0; /0是夏时制,1是标准时制int flag=1;while(flag=1)if(set=0)System.out.println(现在是夏时制);elseSystem.out.println(现在是标准时间);System.out.println(请输入您需要的服务);System.out.println(1改变时制);if(isSpeaking=0)System.out.println(2开始通话);elseSystem.out.println(2结束通话);Scanner scanner = new Scanner(System.in);int i=scanner.nextInt();switch(i)case 1:if(set=0)set=1;else if(set=1)set=0;break;case 2:if(isSpeaking=0)beginDate=new Date();beginSet=set;System.out.println(开始通话时间是+beginDate);isSpeaking=1;else if(isSpeaking=1)endDate=new Date();endSet=set;System.out.println(结束通话时间是+endDate);double minute=(endDate.getTime()-beginDate.getTime()/(60*1000);if(beginSet=endSet)if(minute=20)System.out.println(通话费是+minute*0.05+美元);elseSystem.out.println(通话费是+(minute-20)*0.1+1)+美元);isSpeaking=0;else if(beginSet=1&endSet=0) minute-=60; if(minute=20)System.out.println(通话费是+minute*0.05+美元);elseSystem.out.println(通话费是+(minute-20)*0.1+1)+美元); if(beginSet=0&endSet=1) minute+=60; if(minute20*60)System.out.println(超过20小时了!);if(beginSet=endSet)if(minute=20)System.out.println(通话费是+minute*0.05+美元);elseSystem.out.println(通话费是+(minute-20)*0.1+1)+美元);isSpeaking=0;else if(beginSet=1&endSet=0) minute-=60; if(minute=20)System.out.println(通话费是+minute*0.05+美元);elseSystem.out.println(通话费是+(minute-20)*0.1+1)+美元); if(beginSet=0&endSet=1) minute+=60; if(minute=100); else if(age=60) if(num=45) if(num=35) if(num=25) if(num=16) if(num=100 true as A1, false as !A1Define age=60 true as A2, false as !A2Define age=45 true as A3, false as !A3Define age=35 true as A4, false as !A4Define age=25 true as A5, false as !A5Define age=16 true as A6, false as !A6Define num5 true as B1, false as !B1Define num7 true as B2, false as !B2Define num3 true as B3, false as !B3Define num1 true as B4, false as !B4条件组合:!A1!A2!A3!A4!A5!A6 B1B2B3B4!A1!A2!A3!A4!A5 A6 B1B2B3B4!A1!A2!A3! A4 A5 A6 B1B2B3!B4!A1!A2!A3 A4 A5 A6 B1B2B3!B4!A1!A2 A3 A4 A5 A6 !B1B2!B3!B4!A1 A2 A3 A4 A5 A6 B1B2!B3!B4A1 A2 A3 A4 A5 A6 !B1!B2!B3!B4用例ID年龄违规次数保险金是否通过备注11500是22001350是3301850是4401400是5506250是6704550是710170是6. 路径覆盖用例ID年龄违规次数保险金是否通过备注11500是210100是22001350是32010是4302850是53030是6404400是74050是8506250是95070是10704550是117060是周彪:Junit测试:Main.javaimport java.util.Scanner;public class Main public static double getFactor(int age)if(age 16)return 0.0;else if(age 25)return 2.8;else if(age 35)return 1.8;else if(age 45)return 1.0;else if(age 60)return 0.8;else if(age 100)return 1.5;elsereturn 0.0;public static int getLimit(int age)if(age 16)return 0;else if(age 25)return 1;else if(age 35)return 3;else if(age 45)return 5;else if(age 60)return 7;else if(age 100)return 5;elsereturn 0;public static int getCount(int age)if(age 16)return 0;else if(age 25)return 50;else if(age 35)return 50;else if(age 45)return 100;else if(age 60)return 150;else if(age 100)return 200;elsereturn 0;public static double calculate(double baseSafeRate, int age, int safeLimit)if(safeLimit = 12)return 0;double factor = getFactor(age);double limit = getLimit(age);double count = getCount(age);double money=0;if(safeLimit limit)money = baseSafeRate * factor;money -= count;return money;package test;import junit.framework.TestCase;import org.junit.Test;import com.test.Main;public class MainTest extends TestCaseTestpublic void testCalculate1() /语句覆盖assertEquals(0.0,Main.calculate(500, 15, 0) );assertEquals(1350.0,Main.calculate(500, 20, 0) );assertEquals(850.0,Main.calculate(500, 30, 1) );assertEquals(400.0,Main.calculate(500, 40, 0) );assertEquals(250.0,Main.calculate(500, 50, 5) );assertEquals(550.0,Main.calculate(500, 80, 4) );Testpublic void testCalculate2() /判断覆盖assertEquals(0.0,Main.calculate(500, 15, 0) ); assertEquals(1350.0,Main.calculate(500, 20, 0) ); assertEquals(0.0,Main.calculate(500, 20, 1) );assertEquals(850.0,Main.calculate(500, 30, 2) );assertEquals(0.0,Main.calculate(500, 30, 3) );assertEquals(400.0,Main.calculate(500, 40, 4) );assertEquals(0.0,Main.calculate(500, 40, 5) );assertEquals(250.0,Main.calculate(500, 50, 6) ); assertEquals(0.0,Main.calculate(500, 50, 7) );assertEquals(550.0,Main.calculate(500, 70, 4) ); assertEquals(0.0,Main.calculate(500, 70, 6) );Testpublic void testCalculate3() /条件覆盖assertEquals(0.0,Main.calculate(500, 15, 0) ); assertEquals(1350.0,Main.calculate(500, 20, 0) ); assertEquals(0.0,Main.calculate(500, 20, 1) );assertEquals(850.0,Main.calculate(500, 30, 2) );assertEquals(0.0,Main.calculate(500, 30, 3) );assertEquals(400.0,Main.calculate(500, 40, 4) );assertEquals(0.0,Main.calculate(500, 40, 5) );assertEquals(250.0,Main.calculate(500, 50, 6) ); assertEquals(0.0,Main.calculate(500, 50, 7) );assertEquals(550.0,Main.calculate(500, 70, 4) ); assertEquals(0.0,Main.calculate(500, 70, 6) );Testpublic void testCalculate4() /条件判断覆盖assertEquals(0.0,Main.calculate(500, 15, 0) ); assertEquals(1350.0,Main.calculate(500, 20, 0) ); assertEquals(0.0,Main.calculate(500, 20, 1) );assertEquals(850.0,Main.calculate(500, 30, 2) );assertEquals(0.0,Main.calculate(500, 30, 3) );assertEquals(400.0,Main.calculate(500, 40, 4) );assertEquals(0.0,Main.calculate(500, 40, 5) );assertEquals(250.0,Main.calculate(500, 50, 6) ); assertEquals(0.0,Main.calculate(500, 50, 7) );assertEquals(550.0,Main.calculate(500, 70, 4) ); assertEquals(0.0,Main.calculate(500, 70, 6) );Testpublic void testCalculate5() /条件组合覆盖assertEquals(0.0,Main.calculate(500, 15, 0) ); assertEquals(1350.0,Main.calculate(500, 20, 0) ); assertEquals(850.0,Main.calculate(500, 30, 1) );assertEquals(400.0,Main.calculate(500, 40, 1) );as
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年肠道传染病知识培训试题及答案
- 江苏省安全员-A证考试题库附答案
- 2025年领导干部学法用法法律知识考试题及答案
- 2025年工勤岗位考试试题及答案
- 2025年河北事业单位工勤技能技师考试题库汽车驾驶员自测试题及答案
- 2025年教师专业素养考试试题及答案
- 注安《管理》真题及答案解析完整版
- 海南卫生系统招聘考试真题及答案解析
- 译林版2025-2026三年级英语期中测试卷
- 消防知识培训试题及答案真题题库
- 基于人工智能的药物研发技术
- 华硕a520m-k主板安装教程
- 玻璃体视网膜疾病 完整版
- 管径与流量计算表
- 2023年度国家电网福建省电力有限公司招聘《财务会计类》考试模拟卷(含答案)
- 分居声明告知书范本
- 呼吸机相关基础及Savina300参数设置
- 创业基础(中国石油大学(华东))知到章节答案智慧树2023年
- 中医基础理论概要课件
- 医学免疫学-适应性免疫应答(英文)
- 大众汽车整车开发流程
评论
0/150
提交评论