第4章单元测试代码

  • 方案一
  • 方案二
  • 方案三

方案一

方案一:通过main函数,从外部输入体重和身高,创建被测对象,调用被测方法,结果输出到屏幕

package sample.ut;import java.util.Scanner;/**
*       @description:该类的功能是根据体重和身高判断所属健康分类
*       @Author: user
*       @date: 2020年3月24日17:04:52
* */public class BMI {//定义属性private double weight;//体重private double height;//身高//定义Getter 和Setterpublic double getWeight() {return weight;}public void setWeight(double weight) {this.weight = weight;}public double getHeight() {return height;}public void setHeight(double height) {this.height = height;}//一次性设置体重和身高public void setParams(double w, double h){this.weight = w;this.height = h;}//定义构造public BMI(double w, double h){this.weight = w;this.height = h;}// 定义功能方法public String getBMIType(){//1.初始化String result = "";double bmi = 0.0;if(weight > 0 && height > 0){//2.计算BMIbmi = weight / (height * height);//3.判断所属分类if(bmi <18.5) {result = "偏瘦";}else  if(bmi < 24){result = "正常";}else if (bmi < 28) {result = "偏胖";}else{result = "肥胖";}}else {result = "体重和身高数据错误";}//4.返回分类return result;}public static void main(String[] args) {//        方案一:通过main函数,从外部输入体重和身高,创建被测对象,调用被测方法,结果输出到屏幕//1.输入体重和身高Scanner sc = new Scanner(System.in);double w = 0.0;double h = 0.0;System.out.println("请输入体重和身高,以等号结束:");while (sc.hasNextDouble()){w = sc.nextDouble();h = sc.nextDouble();}//2.创建被测对象BMI test = new BMI(w,h);//3.调用被测方法String result = test.getBMIType();//4.结果输出到屏幕System.out.println(result);BMI test = new BMI(45.0 , 1.6);System.out.println(test.getBMIType());test.setParams(55.0, 1.6);System.out.println(test.getBMIType());test.setParams(68.0, 1.6);System.out.println(test.getBMIType());test.setParams(80.0, 1.6);System.out.println(test.getBMIType());}
}

方案二

//方案2: 通过main函数,由脚本自行设置体重和身高
//创建被测对象,调用被测方法,并自行校验结果,判断测试结果,缺陷输出到屏幕

package sample.ut;import java.util.Scanner;/**
*       @description:该类的功能是根据体重和身高判断所属健康分类
*       @Author: user
*       @date: 2020年3月24日17:04:52
* */public class BMI {//定义属性private double weight;//体重private double height;//身高//定义Getter 和Setterpublic double getWeight() {return weight;}public void setWeight(double weight) {this.weight = weight;}public double getHeight() {return height;}public void setHeight(double height) {this.height = height;}//一次性设置体重和身高public void setParams(double w, double h){this.weight = w;this.height = h;}//定义构造public BMI(double w, double h){this.weight = w;this.height = h;}// 定义功能方法public String getBMIType(){//1.初始化String result = "";double bmi = 0.0;if(weight > 0 && height > 0){//2.计算BMIbmi = weight / (height * height);//3.判断所属分类if(bmi <18.5) {result = "偏瘦";}else  if(bmi < 24){result = "正常";}else if (bmi < 28) {result = "偏胖";}else{result = "肥胖";}}else {result = "体重和身高数据错误";}//4.返回分类return result;}public static void main(String[] args) {//方案2: 通过main函数,由脚本自行设置体重和身高//创建被测对象,调用被测方法,并自行校验结果,判断测试结果,缺陷输出到屏幕//1. 创建被测对象,设置体重和身高BMI test = new BMI(45.0, 1.6);//2.调用被测方法String result = test.getBMIType();//3.校验结果,判断测试结果String expect = "偏瘦";String output = "";if(expect == result){output += "PASS";}else{output += "FALL, 体重:45.0, 身高: 1.6,预期: " + expect + ",实际返回:" + result;}//4.如有缺陷,输出到屏幕System.out.println(output);test = null;//测试用例2: 55.0, 1.6test = new BMI(55.0, 1.6);result = test.getBMIType();expect = "正常";output = "";if(result == expect){output += "PASS";}else {output +=  "FALL, 体重:45.0, 身高: 1.6,预期: " + expect + ",实际返回:" + result;}System.out.println(output);test = null;//测试用例3: 68.0, 1.6test = new BMI(68.0, 1.6);result = test.getBMIType();expect = "偏胖";output = "";if(result == expect){output += "PASS";}else {output +=  "FALL, 体重:45.0, 身高: 1.6,预期: " + expect + ",实际返回:" + result;}System.out.println(output);test = null;//测试用例4 80.0, 1.6test = new BMI(80.0, 1.6);result = test.getBMIType();expect = "肥胖";output = "";if(result == expect){output += "PASS";}else {output +=  "FALL, 体重:45.0, 身高: 1.6,预期: " + expect + ",实际返回:" + result;}System.out.println(output);test = null;}
}

方案三

import sample.ut.BMI;import java.util.SplittableRandom;/*** @description BMI的测试类* @author wuzhichun* @date 2020/3/25 20:16*/public class TestBMI {//定义属性BMI testObj;//被测类//定义Getter 和 Setter//定义构造方法public TestBMI() {testObj = null;}//定义功能方法//创建被测方法public void createObject(double w, double h) {testObj = new BMI(w,h);}//销毁被测对象public void destroyObject(){testObj = null;}//校验执行结果public boolean verify(String expect, String actual) {if(expect == actual){return true;}else {return false;}}//记录执行过程:测试结果,输入,预期结果,实际输出public String record(boolean  testResult, double w, double h, String expect, String actual){//如果测试结果是通过,测直接返回PASS, 否则,返回FAIL, 并记录相关数据String output = "";if(testResult) {output += "PASS.";}else {output += "FAIL." +"体重:" +",身高:" +",预期:" +",实际输出:" + actual;}return output;}//定义测试方法//测试用例1:45,1.6public void testGetBMIType1(){//1.创建被测对象createObject(45.0, 1.6);//2.调用别册方法String actual = testObj.getBMIType();//3.校验执行结果String expected = "偏瘦";boolean testResult = verify(expected, actual);//4.记录执行过程String output = record(testResult, 45.0, 1.6, expected, actual);//5.结果输出到屏幕System.out.println(output);//6.销毁被测对象destroyObject();}//测试用例2:55.0, 1.6public void testGetBMIType2(){createObject(55, 1.6);String actual = testObj.getBMIType();String exp = "正常";boolean tr = verify(exp, actual);String  out = record(tr, 55, 1.6, exp, actual);System.out.println(out);destroyObject();}//测试用例3:68.0, 1.6public void testGetBMIType3(){createObject(68, 1.6);String actual = testObj.getBMIType();String exp = "偏胖";boolean tr = verify(exp, actual);String  out = record(tr, 55, 1.6, exp, actual);System.out.println(out);destroyObject();}//测试用例4:80.0, 1.6public void testGetBMIType4(){createObject(80, 1.6);String actual = testObj.getBMIType();String exp = "肥胖";boolean tr = verify(exp, actual);String  out = record(tr, 55, 1.6, exp, actual);System.out.println(out);destroyObject();}public static void main(String[] args){TestBMI test = new TestBMI();test.testGetBMIType1();test.testGetBMIType2();test.testGetBMIType3();test.testGetBMIType4();}}

软件测试过程与方法_第4章单元测试4.2代码相关推荐

  1. 软件测试过程与方法_第4章 4.3单元JUnit的单元测试

    软件测试过程与方法_第4章 4.3单元JUnit的单元测试 简单测试 创建JUnit的过程 代码 独立的测试 4.3.4参数化运行器 输出结果 4.3.5 测试参数化_属性注入 属性注入输出结果 4. ...

  2. 软件测试过程与方法_第2单元

    软件测试过程与方法_第2单元 第2单元 节内小测 2.1视频小测 2.2视频小测 2.3小测 第2单元测试 第2单元 节内小测 2.1视频小测 如果要对一个三角形程序进行测试用例设计,三角形程序的功能 ...

  3. 软件测试过程与方法_第3单元

    软件测试过程与方法_第3单元 第3单元 小节测试 3.1决策表测试 3.2组合测试 视频小测 3.2小测试 单元测试 第3周单元测试 第3单元 小节测试 3.1决策表测试 3.1决策表方法在以下哪种情 ...

  4. 软件测试过程与方法_第1周小测试

    软件测试过程与方法_第1周小测试 <软件测试过程与方法>作业 第一题:单项选择题(每小题5分,共60分) 三.判断题(每小题5分,共40分) <软件测试过程与方法>作业 第一题 ...

  5. 软件测试过程与方法(1):单元测试,集成测试,确认测试

    软件测试过程 软件测试从测试计划编写到测试实施,需要经过一系列的过程.这些测试按软件从编写到交付的各个阶段的先后顺序可分为以下5个阶段: 单元测试 集成测试 确认(有效性)测试 系统测试 验收(用户) ...

  6. 软件测试过程与方法(2):系统测试,验收测试

    系统测试 系统测试的定义 计算机软件在开发完毕投入运行前还应与系统中其他部分如硬件系统.数据信息等集成在一起,进行一系列系统集成再进行系统测试(System Testing),以保证各组成部分在真实的 ...

  7. 管家婆辉煌版软件的使用方法_管家婆软件进销存的使用方法,管家婆软件使用教程_双全科技...

    管家婆进销存软件包含进货管理.库存管理.销售管理.采购管理等四大部分.软件主要包括,入库单,出库单,库存查询,进货单,销售 单及基础信息管理.今天,我们就来讲究管家婆软件进销存的使用方法,管家婆软件使 ...

  8. inventor软件绘制百叶窗方法_三维工厂设计该使用什么软件?

    背景简介 OpenPlant Modeler (以下简称OPM)是一款精确.快捷的三维工厂设计软件.它通过数据信息的交互提高项目团队的协同能力,通过遵循ISO 15926标准,应用i-model技术, ...

  9. C语言程序设计 现代设计方法_第8章代码、练习题及编程题答案

    程序 8.1 reverse.c 程序 数列反向 第一个关于数组的程序要求用户录入一串数,然后按反向顺序输出这些数: Enter 10 numbers: 34 82 49 102 7 94 23 11 ...

最新文章

  1. 熟悉Python Interpreter解释器
  2. conda deactivate python3_python3的配置解决
  3. Java黑皮书课后题第6章:**6.34(打印日历)编程练习题3.21使用Zeller一致性原理来计算某天是星期几,使用Zeller的算法简化程序清单6-12以获得每月开始的第一天是星期几
  4. RAC (双节点) + 单实例 DATAGUARD 安装遇到的问题处理
  5. 5种避免C#.NET中因事件造成内存泄漏的技术
  6. 后端学习 - 并发编程
  7. Python小练习1:.txt文件常用读写操作
  8. C/C++语言学习的策略
  9. linq to sql 查询操作(3):Insert/Update/Delete操作
  10. mysql创建用户删除权限_mysql 用户创建、授权及删除、取消权限操作
  11. 君正T31 ACC解码
  12. MySQL 递归查询下级
  13. 针对小游戏中PNG、JPG压缩工具优化(nodejs)
  14. 记一次hsql解析大json的全过程
  15. 淘宝/天猫商品优惠券查询API接口,优惠券API接口
  16. C#键盘钩子之局部钩子和全局钩子
  17. 通过c#打开pdf文件
  18. laravel5.4使用Laravel Sms和阿里云短信服务实现短信验证码功能
  19. linux中哪个系统适合做服务器
  20. 计算机专业的创意文案,抖音创意文案大全

热门文章

  1. 为什么你的网红营销没效果~
  2. tensorflow 多gpu 并行训练
  3. mysql xtrabackup恢复_MySQL Xtrabackup备份和恢复
  4. 关于es的一些默认限制解除
  5. Android X86和手机arm上的android开发是不同的。
  6. 用python设计数独的心得体会_使用python解数独
  7. 无线运动耳机什么牌子好,运动无线蓝牙耳机推荐
  8. STL Containers
  9. Python文件读写案例——复制大小文件
  10. Num.06-CSS基础