对新冠肺炎病毒自助检测判断逻辑,采用决策表方法设计测试用例,并编写程序测试之。对于实现的程序,生成控制流图,并确定其圈复杂度。


public class work4 {public static int classify(int[][] a) {String[] b= {"建议立刻发热门诊就诊,并且佩戴好口罩做好防护。佩戴医用外科口罩或N95口罩,避免乘坐公共交通工具。","结合你提供的病情症状及接触史特点,建议继续在家监测体温,可适当服用治疗感冒的中成药,注意手卫生,多饮水,休息为主。若体温持续不退或体温大于38℃或不适症状加重,及时就诊。","建议你们全家及密切接触者居家隔离至少2周,在家期间建议戴口罩交流,条件允许时,尽量单独居住或居住在通风良好的单人房间。多休息,多饮水,注意手卫生和常用物品卫生消毒。若出现发热及呼吸道症状,需马上前往医院就诊。","建议您戴口罩、勤洗手,避免人群聚集,减少不必要外出。"};//System.out.println("1.锟斤拷始症状锟缴硷拷");System.out.println("是否有以下症状?");System.out.println("1发热、2咽喉痛、3咳嗽、4鼻塞、5流鼻涕、6胸闷、7气急、8呼吸困难、9全身酸痛、10乏力、11腹泻、0都没有");if(a[0][0]==0) {if(a[7][0]==0) {System.out.println(b[3]);return 3;}else {System.out.println(b[2]);return 2;}}for(int i=0;i<11;i++) {if(a[0][i]==-1) {break;}switch(a[0][i]) {case 1:System.out.println("目前体温是多少?");if(a[1][0]==0) {System.out.println("<37.3℃");}else {System.out.println("≥37.3℃");}System.out.println("最高体温是多少?");float tem=(float)a[1][1]/10;System.out.println(tem+"℃");System.out.println("发热时有没有以下情况?");if(a[1][2]==0) {System.out.println("发热体温持续不退");}else if(a[1][2]==1) {System.out.println("体温一直大于38℃");}else if(a[1][2]==2) {System.out.println("都没有");}System.out.println("发热后有没有吃退热药?");if(a[1][3]==0) {System.out.println("有吃退热药");}else if(a[1][3]==1) {System.out.println("没有吃退热药");}System.out.println("吃退热药后的体温情况是?");if(a[1][4]==0) {System.out.println("体温下降");}else if(a[1][4]==1) {System.out.println("体温下降又升高");}else if(a[1][4]==2) {System.out.println("体温没有下降");}break;case 3:System.out.println("有没有咳痰?");if(a[2][0]==0) {System.out.println("没");}else if(a[2][0]==1) {System.out.println("有");}break;case 6:System.out.println("有没有胸闷加重?");if(a[3][0]==0) {System.out.println("没");}else if(a[3][0]==1) {System.out.println("有");}break;case 7:System.out.println("有没有气急加重?");if(a[4][0]==0) {System.out.println("没");}else if(a[4][0]==1) {System.out.println("有");}break;case 11:System.out.println("有没有腹泻加重?");if(a[5][0]==0) {System.out.println("没");}else if(a[5][0]==1) {System.out.println("有");}break;}}System.out.println("本次不舒服有多久了");if(a[6][0]==0) {System.out.println("14天以内");}else{System.out.println("14天以上");}if(a[7][0]==0) {System.out.println("都没有");return 1;}return 0;}
}
package studenttest.experiment1;import java.io.FileOutputStream;
import java.io.OutputStreamWriter;import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter;public class work4DataGenerate {private final static String destDir = "src/test/resources/";public static void main(String[] args) throws Exception {// 生成等价类测试testNormalValue();}public static void testNormalValue() throws Exception // Parameters!{FileOutputStream fos = new FileOutputStream(destDir + "等价类测试用例.csv");OutputStreamWriter osw = new OutputStreamWriter(fos, "utf-8");CSVFormat csvFormat = CSVFormat.DEFAULT.withHeader("用例编号", "a[0][0]", "a[0][1]", "a[0][2]", "a[0][3]","a[0][4]", "a[0][5]", "a[0][6]", "a[0][7]", "a[0][8]", "a[0][9]", "a[0][10]", "a[1][0]", "a[1][1]","a[1][2]", "a[1][3]", "a[1][4]", "a[2][0]", "a[3][0]",  "a[4][0]","a[5][0]",  "a[6][0]",  "a[7][0]", "a[7][1]", "a[7][2]", "a[7][3]", "期望值");// 1+1+5+1+1CSVPrinter csvPrinter = new CSVPrinter(osw, csvFormat);int[][] a = { { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, // 症状采集{ -1, -1, -1, -1, -1 }, // 发烧(2,_,3,2,3,){ -1 }, // 咳痰{ -1 }, // 胸闷{ -1}, // 气急{ -1 }, // 腹泻{ -1 }, // 本次不舒服{ -1, -1, -1, -1 } };//       for (int i = 0; i < 8; i++) {//          for (int j = 0; j < 11; j++) {//              a[i][j] = -1;
//          }
//      }a[0][0] = 0;a[7][0] = 0;// 检测全为0csvPrinter.printRecord(1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,-1, -1, -1, -1, 0, -1, -1, -1, 3);int num = 2;// 检测仅有接触史等for (int i = 1; i < 5; i++) {a[7][0] = i;csvPrinter.printRecord(num, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, i, -1, -1, -1,2);num++;}a[7][0] = 1;a[7][1] = 2;a[7][2] = 3;a[7][3] = 4;csvPrinter.printRecord(num, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 2, 3, 4, 2);num++;// 检测仅有接触史等,发烧a[6][0]=0;a[7][0] = 0;a[7][1] = -1;a[7][2] = -1;a[7][3] = -1;a[0][0] = 1;a[1][0] = 0;//2a[1][1] = 373;a[1][2] = 0;//3a[1][3] = 0;//2a[1][4] = 0;//3csvPrinter.printRecord(num, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,0, 373, 0, 0, 0, -1,  -1, -1,  -1,  0, 0, -1, -1, -1, 1);num++;a[1][0] = 1;//2//a[1][1] = 373;a[1][2] = 1;//3a[1][3] = 1;//2a[1][4] = 1;//3csvPrinter.printRecord(num, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,1, 373, 1, 1, 1, -1, -1, -1,  -1,  0, 0, -1, -1, -1, 1);num++;a[1][2] = 2;//3//a[1][3] = 1;//2a[1][4] = 2;//3csvPrinter.printRecord(num, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,1, 373, 2, 1, 2, -1,  -1, -1,-1, 0, 0, -1, -1, -1, 1);num++;// 检测仅有接触史等,咳嗽a[1][0] = -1;//2a[1][1] = -1;a[1][2] = -1;//3a[1][3] = -1;//2a[1][4] = -1;//3a[0][0] = 3;a[2][0] = 0;csvPrinter.printRecord(num, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,-1, -1, -1, -1, -1,0,  -1, -1,  -1, 0, 0, -1, -1, -1,1);num++;a[2][0] = 1;csvPrinter.printRecord(num, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,-1, -1, -1, -1, -1,1,  -1, -1,  -1, 0, 0, -1, -1, -1, 1);num++;// 检测仅有接触史等,胸闷a[2][0] = -1;a[0][0] = 6;a[3][0] = 0;csvPrinter.printRecord(num, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,-1, -1, -1, -1, -1,-1,  0, -1,  -1, 0, 0, -1, -1, -1,1);num++;a[3][0] = 1;csvPrinter.printRecord(num, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,-1, -1, -1, -1, -1,-1,  1, -1,  -1, 0, 0, -1, -1, -1,1);num++;// 检测仅有接触史等,气急a[3][0] = -1;a[0][0] = 7;a[4][0] = 0;csvPrinter.printRecord(num, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,-1, -1, -1, -1, -1,-1,  -1, 0,  -1, 0, 0, -1, -1, -1, 1);num++;a[4][0] = 1;csvPrinter.printRecord(num, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,-1, -1, -1, -1, -1,-1,  -1, 1,  -1, 0, 0, -1, -1, -1,1);num++;// 检测仅有接触史等,腹泻a[4][0] = -1;a[0][0] = 11;a[5][0] = 0;csvPrinter.printRecord(num, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,-1, -1, -1, -1, -1,-1,  -1,-1, 0, 0, 0, -1, -1, -1, 1);num++;a[5][0] = 1;csvPrinter.printRecord(num,11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,-1, -1, -1, -1, -1,-1,  -1,   -1,1, 0, 0, -1, -1, -1, 1);num++;//测试一个其他病,时间a[5][0] = -1;a[0][0] = 9;a[6][0]=1;csvPrinter.printRecord(num,9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,-1, -1, -1, -1, -1,-1,  -1,   -1,-1, 1, 0, -1, -1, -1,1);num++;//测试一个其他病,时间a[7][0]=1;csvPrinter.printRecord(num,9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,-1, -1, -1, -1, -1,-1,  -1,   -1,-1, 1, 1, -1, -1, -1,0);num++;csvPrinter.flush();csvPrinter.close();}}
import static org.junit.jupiter.api.Assertions.assertEquals;import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvFileSource;import studenttest.experiment1.work4;class work4FromCSVFileTest {@ParameterizedTest@DisplayName("等价类测试用例")@CsvFileSource(resources = "/等价类测试用例.csv",numLinesToSkip=1)void testNormalBoundary(int num,int a0,int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10,int b0,int b1,int b2,int b3,int b4,int c0,int d0,int e0,int f0,int g0,int h0,int h1,int h2,int h3,int type) {int[][] a= {{a0, a1, a2, a3,a4, a5, a6, a7, a8, a9, a10},{b0,b1,b2,b3,b4},{c0},{d0},{e0},{f0},{g0},{h0,h1,h2,h3}};assertEquals(type,work4.classify(a));}}

软件测试实验——对新冠肺炎病毒自助检测等(1)相关推荐

  1. 阿里云高效基因序列检索助力新冠肺炎病毒序列快速分析

    简介: 阿里云高效基因序列检索助力新冠肺炎病毒序列快速分析 AnalyticDB for MySQL是云端托管的PB级高并发低延时数据仓库,通过AnalyticDB for MySQL向量检索功能构建 ...

  2. 新冠肺炎病毒(Covid-19)检测系统

    一 .背景 新冠肺炎是一种新的呼吸道疾病,它由新型冠状病毒引起,而这种病毒以前从未在人类身上发现 过.新冠肺炎如何传播? 新冠肺炎很容易通过与新冠肺炎患者的密切接触(距离约 6 英尺或两臂长范围内)在 ...

  3. 新冠肺炎疫情数据可视化分析-FineBI

    目录 一.实验(实训)目的 二.实验(实训)原理或方法 三.仪器设备.材料 四.实验(实训)步骤 五.实训记录及结果 <------------------------------------- ...

  4. 【大数据平台】基于Spark的美国新冠肺炎疫情数据分析及预测

    (本实验系中国地质大学(武汉)2022年秋期大数据平台及应用课程设计) 一.选题背景 新型冠状病毒疫情是由严重急性呼吸系统综合征冠状病毒2(SARS-CoV-2)导致的2019冠状病毒病(COVID- ...

  5. AAAI 2021:一种跨城市迁移的新冠肺炎高危社区发现框架

    新冠肺炎已经在世界范围内广泛传播,严重影响着人们的日常生活.面对新冠肺炎,人为干预的空间隔离手段(如限制出行或集中隔离)已经被证明其有效性.但是,确诊病例的统计往往是滞后且粗粒度的,比如对于尚未确诊的 ...

  6. 复旦大学新冠肺炎防控第一课——尔雅答案

    1.1 新冠肺炎:起源和发现 1.[单选题]新冠肺炎病毒发现的时间是(). A. 2019年12月27日 B. 2019年12月29日 C. 2019年12月30日 D. 2019年12月31日 答案 ...

  7. 新冠肺炎下的日常生活

    不知不觉,2020年的第二个月份已经来到了最后一天.回想这1个多月来,祖国和世界上发生的各种各样的新闻.最重要和最主要的,肯定要属新冠肺炎病毒了.网上都说,原来是人类把动物关在了笼子里,而这次却是由于 ...

  8. 一文看懂新冠肺炎国际疫情现状局势

    数据猿 近期热点: ①思科开始了新一轮裁员,但拒绝透露影响规模 ②德勤中国换帅!周志贤接替蔡永忠成下一届主席 大数据产业创新服务媒体 --聚焦数据 · 改变商业 近几周来,中国的新冠病毒肺炎已经得到初 ...

  9. 玫琳凯公司通过印第安人卫生服务网络针对受到疫情影响特别严重的美国原住民群体开展新冠肺炎支援工作

    达拉斯--(美国商业资讯)--今年早些时候,为帮助减缓新冠肺炎疫情的传播并支援一线工作者,玫琳凯公司(Mary Kay Inc.)宣布将在其全球业务所在社区提供近1000万美元的捐款和配送支持.全世界 ...

最新文章

  1. linux r服务安装失败,R包:RCurl和curl包在Linux上安装失败
  2. 一招一式, 成就“霸业”必做的9件大事
  3. sql中exits和in的区别
  4. 重装64位WIN7之后再装KUBUNTU遇到的问题
  5. 穷人和富人在处事方式上的区别
  6. Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结
  7. cpp调用python_从python ctypes调用CPP函数
  8. TMGM外汇平台官网最全测评(2022年版)
  9. 光机电一体化控制实训装置QY-JDYT06
  10. Vivado时钟之间的三种关系
  11. 抓取特定路径下文件 可批量压缩成压缩包 并分享到微信
  12. 安装Linux Mint 18.2后要做的20件事
  13. 计算机毕业设计springboot+vue基本微信小程序的云宠物小程序-宠物领养
  14. CCD、COMS,数字摄像头、模拟摄像头、TVL、PAL、AV、CVBS等的联系和区别
  15. 求大神帮忙解答!!!急!!!
  16. 朝阳医院2018年销售数据分析
  17. 信号分析与处理——拉普拉斯变化
  18. Wolfram Alpha 算微积分指令集合
  19. Qt中关于delete的应用
  20. 【STM32】步进电机及其驱动(ULN2003驱动28BYJ-48丨按键控制电机旋转)

热门文章

  1. 中国式排名SUMPRODUCT函数解释
  2. ORA-00942 表或视图不存在 问题的解决
  3. 7、Java 对象在 JVM 中的内存布局(详细说明)
  4. Python标准库学习——sys模块
  5. Maven项目混淆、瘦身、打包exe
  6. Apache SeaTunnel Doris7月联合Meetup,从数据集成到分析实践
  7. 软考高级架构师笔记1-计算机硬件
  8. 富文本的内容怎么转换格式
  9. 关于汽车电子测试工程师
  10. 前端基础-CSS的属性相关设置