软件测试第三次作业
EDA仿真作业题及要求

EDA 仿真作业仿真作业题及要求题及要求题及要求一、 仿真作业仿真作业要求要求要求EDA 仿真作业共3次,由课代表按时收齐交给助教由课代表按时收齐交给助教((分别于第5、9、13周周周周二二交,打印打印结果并书写报告结果并书写报告结果并书写报告交给助教交给助教交给助教))。
请用Multisim 软件仿真软件仿真。
仿真实验报告应包括题目仿真实验报告应包括题目、、分析分析计算计算计算结果结果结果、、仿真结果及仿真结果及分析分析分析、、仿真中遇到的问题仿真中遇到的问题、、收获和体会收获和体会。
二、 第一次仿真作业第一次仿真作业题题:共3题,请于第5周周周周二二与习题作业一起交与习题作业一起交实验实验目的目的目的::掌握基本元器件电路的分析方法,熟悉仿真软件环境,掌握仿真软件的基本测量手段(用万用表的交流和直流档测量电压电流量、用示波器测量和观察信号、用IV 分析仪测半导体器件的特性曲线),熟悉仿真软件的基本分析方法(直流扫描分析方法)。
1、仿真题1-1(3分):用IV 分析仪(IV Analyzer)测量二极管的伏安特性和晶体管的输出特性。
2、仿真题1-2(3分):教材习题1.17。
3、仿真题1-3(4分):教材习题1.18。
三、 第二次仿真作业题第二次仿真作业题::共3题,请于第9周周周周二二与习题作业一起交与习题作业一起交。
实验目的实验目的::熟悉晶体管和场效应管基本放大电路性能参数的测试、调试、设计方法,理解放大电路静态工作点对动态参数的影响;培养提出问题、分析问题、解决问题的能力;熟悉仿真软件的基本分析和测量方法。
1、仿真题2-1(3分):电路如图2-1所示,已知晶体管型号为2N2222A (模型参数中的BF 即β=220,RB 即r bb’=0.13Ω),电源电压为V CC =12V ,R s =1k Ω,负载R L =5k Ω,电容C 1=C 2=10µF ,输入电压u s 为峰值为2V 、频率为2kHz 的正弦波。
软件测试实验(一二三)_答案

黑盒测试(一)和白盒测试(二)实验背景知识结构性测试是知道产品内部工作过程,检测产品内部动作是否按照规格说明书的规定正常进行。
结构性测试允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
一、逻辑覆盖结构性测试力求提高测试覆盖率。
逻辑覆盖是一系列测试过程的总称,它是在使用白盒测试法时,选用测试用例执行程序逻辑路径的方法。
逻辑覆盖按覆盖程度由低到高大致分为以下几类:(1)语句覆盖:设计若干测试用例,使程序中每一可执行语句至少执行一次;(2)判断覆盖:设计用例,使程序中的每个逻辑判断的取真取假分支至少经历一次;(3)条件覆盖:设计用例,使判断中的每个条件的可能取值至少满足一次;(4)判断/条件覆盖:设计用例,使得判断中的每个条件的所有可能结果至少出现一次,而且判断本身所有可能结果也至少出现一次;(5)条件组合覆盖。
设计用例,使得每个判断表达式中条件的各种可能组合都至少出现一次;显然,满足⑤的测试用例也一定是满足②、③、④的测试用例。
(6)路径覆盖。
设计足够的测试用例,使程序的每条可能路径都至少执行一次。
如果把路径覆盖和条件组合覆盖结合起来,可以设计出检错能力更强的测试数据用例。
二、基本路径测试如果把覆盖的路径数压缩到一定限度内,例如,程序中的循环体只执行零次和一次,就成为基本路径测试。
它是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。
设计出的测试用例要保证在测试中,程序的每一个可执行语句至少要执行一次。
①程序的控制流图控制流图是描述程序控制流的一种图示方法。
符号○称为控制流图的一个结点,一组顺序处理框可以映射为一个单一的结点。
控制流图中的箭头称为边,它表示了控制流的方向,在选择或多分支结构中分支的汇聚处,即使没有执行语句也应该有一个汇聚结点。
软件工程形形考作业3:基于UML的大学图书馆图书信息管理系统设计实验_20201124103758

形考作业3:基于UML的大学图书馆图书信息管理系统设计实验一、实验内容说明对实验2的面向对象分析结果进行系统概要设计和详细设计。
设计系统构架,勾画出整个系统的总体结构,这项工作由全组成员参加,包括主要子系统及其接口,主要的设计类和中间件等系统软件。
设计时要考虑系统的可维护性,以简单为第一原则——简单的类、简单的接口、简单的协议、简单的描述。
使用UML的配置图描述系统的物理拓扑结构以及在此结构上分布的软件元素。
用类图和顺序图对主要用例:借书、还书、处罚进行设计,并对其中的类进行详细说明,包括属性设计和方法设计。
二、实验目的(1)通过本实验使学生掌握UML建模语言的常用图形,面向对象的设计方法和过程。
特别是熟悉包图、顺序图、配置图和类图的应用。
(2)以小组形式完成本实验,锻炼同学之间的协作和沟通能力、自我学习和管理能力。
(3)学生在实验过程中熟练掌握常用的CASE工具。
三、实验学时8学时四、实验步骤(1)根据实验2画出的系统用例图和需求规格说明书规划系统的物理结构。
(2)组长和小组成员共同协商一份设计规范:设计用的图形符号、字体、大小规范,界面设计规范,用语规范等。
(3)对借书用例、还书用例、处罚用例进行用例设计和类设计。
(4)对借书用例、还书用例、处罚用例使用顺序图设计类之间的消息通信。
(5)编写系统设计规格说明书。
五、实验要求4人一组,分工如下:1名组长,负责整个小组的人员安排,工作计划,文档质量,整体项目的协调等工作;2名系统分析员,专门负责需求分析,1名分析员,专门负责系统的验收测试用例。
虽然各有分工,但大家必须协同工作。
使用VISO或IBM Rational ROSE工具软件。
各种说明书使用WORD软件。
六、结果实验结果包括:(1)系统配置图及其说明。
(2)系统体系结构划分及其说明。
(3)借书用例、还书用例、处罚用例的详细设计类图及其属性、方法说明。
(4)用顺序图分别对借书用例、还书用例、处罚用例设计类之间的消息通信说明。
软件测试实验3--Junit单元测试

南京理工大学泰州科技学院实验报告书课程名称:《软件测试与质量保证》实验题目:实验三Junit单元测试班级:学号:姓名:指导教师:一、实验目的1.了解Junit测试框架用途及相关框架组成要素2.掌握Junit3.8中断言的使用及Assert静态类的相关用法3.掌握在Eclipse中如何结合JUnit3.8进行单元测试的过程二、实验内容1、使用java语言编写一个类,该类用于完成简单的数学四则运算;然后使用Junit单元测试方法对编写的类进行测试。
三、实验步骤及结果1、(1)实验程序package ;import .apache.bcel.internal.generic.NEW;import junit.framework.Assert;import junit.framework.TestCase;public class MathTest extends TestCase{public void testAdd(){Math math=new Math();int result=math.add(1,2);Assert.assertEquals(3,result);}public void testMin(){Math math=new Math();int result=math.min(1,2);Assert.assertEquals(-1,result);}public void testMui(){Math math=new Math();int result=math.mui(1,2);Assert.assertEquals(2,result);}public void testDiv(){Math math=new Math();int result=0;try{result=math.div(6,2);}catch(Exception e){e.printStackTrace();}Assert.assertEquals(3,result);}public void testDiv1(){Throwable throwable=null;Math math=new Math();try{int result=math.div(6,0);}catch(Exception e){throwable=e;}assertNotNull(throwable);assertEquals(Exception.class,throwable.getClass());assertEquals("除数不能为零",throwable.getMessage()); }}(2)实验结果四、出现问题及解决方法1、程序中不能识别TestCase类。
第三次作业答案要点

1. 假设你是一个软件项目的负责人,该项目要求开发一个安全性要求极高的医疗控制系统,用于控制医院病人的放射性治疗。
该系统是嵌入式系统,内存限定在16MB,程序规模估计是10KLOC,病人的放射治疗信息将记录到数据库中。
(1)请使用简单COCOMO 模型估算系统开发的工作量。
(2)请考虑产品、计算机、人员和项目等影响因素,使用中间COCOMO 模型估算系统开发的工作量,并说明考虑这些因素的理由及其取值。
参考答案:(1)由简单COCOMO模型公式计算:工作量E =3.6 ×(10)1.20=57.06(人月)开发时间D=2.5 ×(57.06)0.32=9.12(月)(2)估计工作量影响因素的取值:工作量修正因子F = 1.90工作量E =2.8 ×(10)1.20 × 1.90 = 2.8 ×15.85 ×1.90 =84(人月)开发时间D = 2.5 ×(84)0.32=2.5 ×4.13 =10.32(月)2. 某诊所需要开发一个软件系统来管理预约,具体要求如下:当病人打电话预约时,接待员将查询日历并安排病人尽早得到诊治。
如果病人同意计划的约定时间,该接待员将输入约定时间和病人姓名,系统将核实病人姓名并提供病人已有的记录数据。
在每次检查和治疗之后,医生将标记相应的预约已经完成并添加治疗说明,如果必要的话还会安排病人下一次再来。
诊所人员可以使用系统按照病人姓名和预约日期进行查询,查询结果显示病人的记录数据和预约信息。
接待员可以取消预约,并打印出已经预约但不能接诊的通知清单。
另外,接待员还可以打印出关于所有病人的每周预约安排。
请使用功能点技术估算该软件的规模,并说明每个信息域特征的估计理由。
参考答案:(1)外部输入:病人信息(简单)、预约信息(中等)治疗说明(简单)、取消预约(中等)(2)外部输出:治疗记录(简单)、预约信息(中等)通知清单(中等)、每周预约安排(复杂)(3)外部查询:查看日历(中等)、查看病人数据(简单)查看预约(中等)、查看治疗记录(简单)(4)内部文件:病人信息(简单)、预约信息(中等)治疗记录(简单)(5)外部接口:无修正因子Fi 取值本题没有提供,仅要求同学们思考讨论。
软件测试课后作业—答案

作业1: 某程序实现如下功能:输入三个整数 A 、B 、C ,输出以A 、B 、C 为三边的三角 形面积(1<A 、B 、CV100)。
请运用等价类和边界值的方法,编写测试用例。
// 广构成三角形⑴AW (2)边长-特殊字符⑼非數促空格(10)L 空白(1L )作业2:的现金,并要求一次最多取2000元,一天最多取5000元 运用等价类和边界值的思想编写测试用例。
答:>99(6) 菲整数⑺L 不构成三A 形 \ \ \ B+C<A(3) A+C<B(4) 假定一台ATM 取款机允许提取的增量为50元,总额为从 50元到5000元不等天最多取3次,请作业3: 需求分析题,设计测试用例: 银行系统:有两个普通窗口 A , B 和一个VIP 窗口,每个窗口只能发放10个号。
没有持有VIP 的客户只能在普通窗口 A ,B 办理业务。
到普通窗口 A 办理。
在分配时优先考虑人数最少的窗口E A. B. VIP 客户优先安排在 VIP 窗口办理业务,如果VIP 窗口不能再发放号码,则C. 对公业务只能在普通窗口A 办理(办理业务的时间是星期一到星期六)。
D. 其他业务在普通窗口 A ,B 办理。
作业4:编写163邮箱注册模块的测试用例(假设没有重复的用户名),条件如图所示。
诗选择塑阳用户离请填写安全设魁〔底卜-肓息龙[护您35帐号主反盂車蚤‘询芒自亘均写芥半宜.测试用例如下:\|温議捏示:本或上決登录的il 行征用户若星:kinc 価呃惟丄的■R 宁机吕fl :甘.帀戸电,可IJ 直按应于t?t'日宁号m^rCTIZ 拾丸才■¥)" 如zq. 点.减吕我下切找朗成 ■只能以数字或字母汗头丸錯尾』且民*诵斤订电户名: ie3.i ;om 拒荐您注删隅長新曲FMd n*:兔费日「箱请为下面的程序设计用例:该程序有三个输入变量month、day、year (mo nth、day、year均为整数值,并且满足: month w 12和1三day三31),分别作为输入日期的月份、日期、年份,通过程序可以输出该2004年12月1日。
中石油华东《软件工程》2014年秋学期在线作业(三)答案

《软件工程》2014年秋学期在线作业(三)
一,单选题
1. 以下()不是Myers软件测试目的
A. 测试是程序的执行过程,目的在于发现错;
B. 一个好的测试用例在于能发现至今未发现的错;
C. 一个成功的测试是发现了至今未发现的错的测试。
D. 测试是为了修改程序中的错
?
正确答案:D
2. 以下判断对的是()。
A. 所谓软件开发就是编写程序。
B. 利用软件工程的思想,已成功的解决了软件危机。
C. 完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。
D. 一般来说,程序中存在错的概率与在该段程序中已发现的错数成正比。
?
正确答案:D
3. 软件维护是保证软件正常、有效运行的重要手段,而软件的下述特性:Ⅰ.可测试性Ⅱ.可理解性Ⅲ.可修改性Ⅳ.可移植性。
()有利于软件的维护。
A. 只有Ⅰ
B. Ⅱ和Ⅲ
C. Ⅰ、Ⅱ和Ⅲ
D. 都有利
?
正确答案:D
4. 产生软件维护的副作用,是指()。
A. 开发时的错
B. 隐含的错
C. 因修改软件而造成的错
D. 运行时误操作
?
正确答案:D
5. 下列文档与维护人员无关的有()。
A. 软件需求说明书
B. 项目开发计划
C. 概要设计说明书
D. 操作手册
?
正确答案:B。
西南大学《软件工程》网上作业题及答案

[0010]《软件工程》第一次作业[论述题](1) 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
参考答案:目前使用得最广泛的软件工程方法学(2种):1.传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。
缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用[论述题]2软件生命周期划分成哪些阶段。
参考答案:软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。
1. 软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析2. 开发时期:总体设计、详细设计、编码和单元测试、综合测试。
3. 维护时期:主要任务是使软件持久地满足用户的需要。
[论述题](3) 什么是需求分析,需求分析阶段的基本任务是什么?参考答案:需求分析就是理解用户需求,分析软件用户的需求是什么。
需求分析的任务就是解决"做什么"的问题,在问题定义和可行性研究的基础上,全面地理解用户的各项要求,并准确地表达所接受的用户需求。
具体说来,就是把可行性研究阶段确定的系统功能进一步具体化,交出包括详细的数据流图、数据字典以及简要的算法描述在内的需求说明书。
[论述题](4) 可行性研究的任务参考答案:1.进一步分析和澄清问题;2.导出系统的逻辑模型;3.从逻辑模型出发,提出若干种系统实现方案4.研究每种实现方案的可行性;5.为每个可行的解决方案制定一个粗略的实现进度6.对以后的行动方针提出建议[论述题](5)什么叫软件测试,软件测试的方法有哪些?参考答案:软件测试:为了发现程序中的错误而执行程序的过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6. 接合边界值分析法和等价类划分法,针对不同月薪需要缴
纳不同的个人所得税计算程序,设计测试用例。
3500为起征点,结合边界值
收入 税收
3499 0
3500 0
3501 0.05
3999 24.95
4000 25
4001 50.1
5499 199.9
5500 200
5501 300.15
8499 749.85
8500 750
8501 1000.2
23499 3999.8
23500 4000
23501 5000.25
43499 9999.75
43500 10000
43501 12000.3
63499 17999.7
63500 18000
63501 21000.3
83499 27999.7
83500 28000
83501 32000.4
103499 39999.6
103500 40000
103501 45000.4
7.年、月、日分别有Y、M和D来存储响应的值,现在要测
试NextData(Y, M, D)函数,用判定表方法来设计相应的测试用
例。
NextData(Y,M,D)为下一天的函数,由于1,3,5,7,8,10,12月都有31天,其中12月31日下一天又
为下一年,能被4整除的闰年的2月有29天,平年的2月有28天,所以条件分为以下几个等价
类.
条件:
年份: LY:闰年
PY:平年
月份: MA:1,3,5,7,8,10
MB:4,6,9,11
MC:2
MD:12
日期: DA:1~27
DB:28
DC:29
DD:30
DE:31
动作:
R1:Erorr,No data
R2:日期后移
R3:日期置1
R4:月份后移
R5:月份置1
R6:年份后移
判定表:
序号
1 2 3 4 5 6 7 8 9 10 11 12 13
条
件
Y - - - - - - LY LY PY PY - - -
M MA MA MB MB MB MC MC MC MC MC MC MD MD
D DA DE DA DD DE DA DB DC DB DC DD DA DE
DB DC DD DB DC DE DB
DC
DD
动
作 R1 1 1 1 1 R2 1 1 1 1 R3 1 1 1 1 1 R4 1 1 1 1
R5 1
R6 1
9.通过扩展有限状态机来描述表示堆栈算法,然后转化为状
态树,然后设计测试用例覆盖独立的树根到树叶的路径
EFSM:
状态树:
根据堆栈的状态以及动作可以写出以下状态表:
输入
状态
Init Push Pop Delete Top
Initial Empty
Empty Filled Error Deleted Error
Filled Filled(1) 堆栈空 压入栈 弹出栈 弹出栈(栈元素数大于1) 压入栈(当 弹出栈 状态树: 测试用例: Initial Error Filled Init Delete Pop Delete Delete
开始堆栈
删除堆栈
有元素
堆栈满
栈元素
数量为1
弹出栈(栈元素小于
max-1)
堆栈满(不能放入元素)
前栈元素
数量为
max-1)
Full(2)=max-1 1
Full Full Filled Error Full
Delete
对一个空栈弹顶元素
init-pop(路径:initial-empty-error)
对一个空栈查顶元素
init-top(路径:initial-empty-error)
对一个空栈进行删除
init-delete(路径:initial-empty-deleted)
Ampty
Error
Deleted
Error
Empty Filled Filled Full Full Error Filled Full Filled
Top
Push
Pop
Push Push
Pop
Top
Pop
Push Top
向一个空栈放入元素
init-push-pop(路径:initial-empty-filled)
对一个有元素的栈进行压入栈操作
init-push-push(路径:initial-empty-filled-filled)
对一个有max-1个元素的栈进行压入栈操作
init-push-push(路径:initial-empty-filled-full)
对一个有一个元素的栈进行弹栈操作
init-push-pop(路径:initial-empty-filled-empty)
对一个有元素的栈进行查顶操作
init-push-top(路径:initial-empty-filled-filled)
对一个有元素的栈进行删除操作
init-push-delete(路径:initial-empty-filled-error)
对满栈进行查顶操作
init-push-push-top(路径:initial-empty-filled-full-full)
对满栈进行压栈操作
init-push-push-push(路径:initial-empty-filled-full-full)
对满栈进行弹栈操作
init-push-push-pop(路径:initial-empty-filled-full-filled)
对满栈进行删除操作
init-push-push-delete(路径:initial-empty-filled-full-erorr)