ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:649.88KB ,
资源ID:5071581      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5071581.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最新软件测试大作业.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最新软件测试大作业.docx

1、最新软件测试大作业关于DIY手工艺制品的消费调查7、你喜欢哪一类型的DIY手工艺制品?(二)创业弱势分析(5) 资金问题经常光顾 偶尔会去 不会去300元以下 9 18%附件(二):调查问卷设计民族性手工艺品。在饰品店里,墙上挂满了各式各样的小饰品,有最普通的玉制项链、珍珠手链,也有特别一点如景泰蓝的手机挂坠、中国结的耳坠,甚至还有具有浓郁的异域风情的藏族饰品。1、你一个月的零用钱大约是多少?自制饰品一反传统的饰品消费模式,引导的是一种全新的饰品文化,所以非常容易被我们年轻的女生接受。江西财经大学“软件测试与质量保证”课程作业(实验)报告组长姓名 学号 成 员 专 业 软件工程 班级 作业名称

2、 多部电梯调度模拟软件功能性测试 指导教师 开课学期 2015 至 2016 学年1学期完成时间 2014 年 12 月 27 日 4.3.1边界值测试 12 4.3.1白盒测试 14 1 前言电梯作为高层建筑中垂直运行的交通工具已于人们的日常生活密不可分,是建筑物中的永久性垂直交通工具。电梯实际上是一个人机交互式的控制系统,单纯用顺序控制或逻辑控制是不能满足控制要求的,而PLC控制的电梯运行可靠性高,程序设计方便灵活,抗干扰能力强、运行稳定可靠等特点,所以现在的电梯控制系统广泛采用可编程控制器来实现。在工艺加工的最初,把多种原料在合适的实践和条件下进行需要加工得以得到产品一直都是在人监控或操

3、作下进行的但是现在随着时代的发展,这些方式已经不能满足工业生产的实际需要。实际生产中需要更精确、更便捷的控制装置。可编程控制器液体混合控制系统的特点:(1)系统自动工作;(2)控制的单周期运行方式;(3)启动后能自动完成下一个周期的工作,并循环。我们采用的PLC具有小型化、高速度、高性能等特点。这次设计可以使我们熟练使用置位和复位等各条基本指令,通过对工程实例的模拟,熟练地掌握PLC的编程和程序调试。本报告首先从软件测试的基本概念入手,介绍了与软件测试相关的一些理论知识。然后对我要地图网站的结构和功能进行了简单的分析。针对电梯划分的楼层,开关,载人数,独一性等功能模块进行测试。从等价类,边界值

4、,白盒测试三种方法对这个电梯程序进行测试 最后对电梯实例缺陷进行总体概括分析。2 软件测试概述2.1 软件测试的概念软件测试是指在规定条件下对程序进行操作,以发现错误,对软件质量进行评估。目前,国际上已对软件测试形成一个共识:软件测试就是在软件投入使用前,对软件的需求分析、设计规格说明和系统编码的最终复审。由此可见,软件测试的对象不仅仅是程序,需求规格说明、概要设计、详细设计、源程序等都是软件测试的对象。首先,测试不能表明软件中不存在错误,它只能说明软件中存在错误。从用户的角度来看,希望通过测试发现错误和缺陷,从而考虑是否可接受该产品。而从软件开发者的角度来看,则希望通过测试,表明软件产品中不

5、存在错误。换句话说,测试的目的是以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。2.2 测试的目的基于不同的立场,也会有不同的测试目的,从用户角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品但从软件开发者的角度出发,则希望测试能成为表明软件产品中不存在错误的过程,验证该产品已确实地实现了用户的要求,确立人们对软件质量的信心。2.3 测试的原则基于测试是为了寻找软件的错误和缺陷,评估与提高软件质量,我们在测试的时候遵循以下原则:(1)所有的软件测试都应追溯到用户需求。(2)应当把“尽早地不断地进行软件测试”作为软件测试者的座右铭。(3)完全测试是不可能的

6、,测试需要终止。(4)测试无法显示软件潜在的缺陷。(5)充分注意测试中的群集现象。(6)程序员应避免检查自己的程序。(7)尽量避免测试的随意性。3 电梯内容结构简介电梯由安装在各楼层厅门口的上升和下降呼叫按钮进行呼叫操纵,其操纵内容为电梯运行方向。电梯轿箱内设有楼层内选按钮S1Sn,用以选择需停靠的楼层。L1为一层指示、L2为二层指示、L3为三层指示。电梯上升途中只响应上升呼叫,下降途中只响应下降呼叫,任何反方向的呼叫均无效。例如,电梯停在一层,在二层轿箱外呼叫时,必须按二层上升呼叫按钮,电梯才响应呼叫(从一层运行到二层),按二层下降呼叫按钮无效;反之,若电梯停在三层,在二层轿箱外呼叫时,必须

7、按二层下降呼叫按钮,电梯才响应呼叫(从三层运行到二层),按二层上升呼叫按钮无效。 3.1系统界面图3.1 初始输入信息界面图3.2 进入多电梯控制面板3.2 程序流程输入楼层信息,电梯数目及最大载人数点击任意一组电梯的开关门点击选中电梯的上人点击选中电梯的关门点击选中电梯的楼层选择点击外部大楼选择面板的某楼层的上或者下循环点击,直到按下关闭程序键4 制定测试计划和实施4.1 测试方法在实例电梯测试中,主要从以下几个方法进行:边界值,等价类,白盒测试。4.2 测试通过标准(1) 如果测试结果与测试用例中预期结果一致测试通过否则不通过。(2) 数据安全、正确,测试通过,否则测试不通过。(3) 系统

8、崩溃,无法测试,测试不通过。4.3 测试用例的设计与实施测试用例是将测试行为具体量化的方法之一,指设计一种情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的执行结果,为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据。一个好的测试用例是在于它能发现至今未发现的错误,在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率测试用例的使用令软件测试的实施重点突出、目的明确在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度,缩短项目周期功能模块的通用化和复用化使软件易于开发,而测试用例的通用化和复用化使软件测试易于开展,并随着测试用例的不断精

9、化其效率也不断攀升4.3.1 等价类测试一、黑盒测试等价类测试:1、初始化数据只由0-9组合而成的数据、字母、负数、特殊字符、字母和特殊字符的组合、字母和数字的组合、空格和其他字符的组合、小数。序号输入数据包含等价类预计输出实际输出测试结果楼层数电梯数最大载人数110510 初始化电梯控制台初始化电梯控制台Passed201005010 初始化电梯控制台初始化电梯控制台Passed30.10.10.1初始化失败,提示输入非法初始化失败,未提示Failed截图一4abc初始化失败,提示输入非法初始化失败,未提示Failed截图二5-10-5-10初始化失败,提示输入非法初始化失败,未提示Fail

10、ed截图三6#¥初始化失败,提示输入非法初始化失败,未提示Failed截图四7a%b%c%初始化失败,提示输入非法初始化失败,未提示Failed截图五8a10b5c10初始化失败,提示输入非法初始化失败,未提示Failed截图六91空格02 1空格0初始化失败,提示输入非法初始化失败,未提示Failed截图七截图一: 原因说明:对于不合法的输入数据没有给出提示。截图二: 原因说明:对于不合法的输入数据没有给出提示。截图三: 原因说明:对于不合法的输入数据没有给出提示。截图四: 原因说明:对于不合法的输入数据没有给出提示。截图五: 原因说明:对于不合法的输入数据没有给出提示。截图六: 原因说明:

11、对于不合法的输入数据没有给出提示。截图七: 原因说明:对于不合法的输入数据没有给出提示。2、初始化界面A、 楼层数 = 电梯数 = 最大载人数B、 楼层数 = 电梯数 最大载人数C、 楼层数 电梯数 = 最大载人数D、 楼层数 电梯数 最大载人数E、 楼层数 最大载人数 电梯数F、 电梯数 楼层数 = 最大载人数G、 电梯数 楼层数 最大载人数H、 电梯数 最大载人数 楼层数I、 最大载人数 电梯数 = 楼层数J、 最大载人数 电梯数 楼层数K、 最大载人数 楼层数 电梯数测试用例:序号输入数据包含等价类预计输出实际输出测试结果楼层数电梯数最大载人数1666A电梯控制台成功初始化初始化界面显示

12、不完全Failed截图一2667B电梯控制台成功初始化初始化界面显示不完全Failed截图二3677C初始化失败提示错误原因初始化失败Failed截图三4789D初始化失败提示错误原因初始化失败Failed截图四5798E初始化失败提示错误原因初始化失败Failed截图五6727F电梯控制台成功初始化初始化界面显示不完全Failed截图六7768G电梯控制台成功初始化初始化界面显示不完全Failed截图七81028H电梯控制台成功初始化电梯控制台成功初始化Passed9776I电梯控制台成功初始化初始化界面显示不完全Failed截图八10876J电梯控制台成功初始化初始化界面显示不完全Fail

13、ed截图九11786k初始化失败提示错误原因初始化失败Failed截图十截图一: 原因说明:按钮的界面为绝对布局,此时楼层数不够高,导致界面高度不够,按钮未完全展示。截图二: 原因说明: 按钮的界面为绝对布局,此时楼层数不够高,导致界面高度不够,按钮未完全展示。截图三: 原因说明:电梯层数高于楼层数。 截图四:原因说明:电梯层数高于楼层数。 截图五: 原因说明:电梯层数高于楼层数。截图六: 原因说明: 按钮的界面为绝对布局,此时楼层数不够高,导致界面高度不够,按钮未完全展示。截图七: 原因说明: 按钮的界面为绝对布局,此时楼层数不够高,导致界面高度不够,按钮未完全展示。截图八:原因说明:按钮的

14、界面为绝对布局,此时楼层数不够高,导致界面高度不够,按钮未完全展示。截图九:原因说明: 按钮的界面为绝对布局,此时楼层数不够高,导致界面高度不够,按钮未完全展示。截图十: 原因说明:电梯层数高于楼层数。4.3.1 边界值测试边界值测试用例设计:序号输入数据预计输出实际输出测试结果楼层数电梯数最大载人数1000failfailfail2-100failfailfail30-10failfailfail400-1failfailfail5111failpasspass6101passfailfail7110passpasspass8011failfailfail9spacespace spacef

15、ailfailfail10nullnullnullfailfailfail11failfailfail12344passfailfail13541passpasspass14559999failpasspass15999911failpasspass截图缺陷:123.分析总结 这个程序的一些缺陷通过边界值测试分析出来了,主要是某些边界值如0这样的数字系统是会报错的,另外当楼层小于电梯数量的时候系统也会报错,还有一些非法字符系统也会出错。4.3.1 白盒测试白盒测试:(一)语句:A. LiftGroupMaster初始化各变量Init()1. protected void init() 2. o

16、utBtn = new OutButton(numOfFloor);3. distance = new intnumOfFloor + 1;4. minOrder = new intnumOfFloor + 1;5. upAlloateFail = new intnumOfFloor + 1;6. downAlloateFail = new intnumOfFloor + 1;7. group = new LiftMasternumOfLift + 1;8. for (int i = 1; i = numOfLift; i+)9. groupi = new LiftMaster(numOfFl

17、oor);10. upCalls = new intnumOfFloor + 1;11. downCalls = new intnumOfFloor + 1;12. for (int i = 0; i = numOfFloor; i+) 13. upCallsi = downCallsi = 0;14. upAlloateFaili = downAlloateFaili = 0;15. 16. for (int i = 1; i = numOfLift; i+) 17. groupi.gateTimer = new Timer(gateCycle, this);18. groupi.cageT

18、imer = new Timer(cageCycle, this);19. groupi.cageTimer.start();20. 21. for (int i = 1; i = numOfLift; i+) 22. for (int j = 1; j = numOfFloor; j+) 23. groupi.innerBtn.stopButtonj.addActionListener(this);24. 25. groupi.innerBtn.closeButton.addActionListener(this);26. groupi.innerBtn.openButton.addActi

19、onListener(this);27. 28. for (int j = 1; j = numOfFloor; j+) 29. outBtn.UPj.addActionListener(this);30. outBtn.DOWNj.addActionListener(this);31. 32. for (int i = 1; i = numOfLift; i+) 33. groupi.liftState.enterButton.addActionListener(this);34. groupi.liftState.exitButton.addActionListener(this);35.

20、 36. reassignTimer = new Timer(reassignCycle, this);37. reassignTimer.start();38. waitCloseGate = new TimernumOfFloor + 1;39. for (int i = 1; i = numOfLift; i+)40. waitCloseGatei = new Timer(gateWaitCycle, this);41. LiftsHeight = group1.PanelHeight + 30;42. LiftsWidth = numOfLift * (group1.PanelWidt

21、h + 20);43. outBtnHeight = group1.PanelHeight;44. outBtnWidth = 145;45. B、LiftGroupMaster构造函数1. LiftGroupMaster(int numOfFloor, int numOfLift, int numofPerson) 2. this.numOfFloor = numOfFloor;3. this.numOfLift = numOfLift;4. this.numOfPerson = numofPerson;5. init();6. JPanel liftGroup = new JPanel()

22、;7. liftGroup.setLayout(new GridLayout(1, numOfLift, 10, 8);8. for (int i = 1; i = numOfLift; i+)9. liftGroup.add(groupi);10. liftGroup.setBackground(Color.WHITE);11. liftGroup.setBounds(1, 1, LiftsWidth, LiftsHeight);12. outBtn.setBounds(LiftsWidth + 3, 1, outBtnWidth, outBtnHeight);13. setLayout(n

23、ull);14. add(liftGroup);15. add(outBtn);16. C、LiftMaster初始化各变量Init()1. void init(int numOfFloor) 2. this.numOfFloor = numOfFloor;3. ifOpen = false;4. state = FREE;5. floor = 1;6. toppestCall = numOfFloor + 1;7. lowestCall = 0;8. upStop = new intnumOfFloor + 1;9. downStop = new intnumOfFloor + 1;10.

24、for (int i = 1; i = numOfFloor; i+)11. upStopi = downStopi = 0;12. stop = new intnumOfFloor + 1;13. for (int i = 1; i = numOfFloor; i+)14. stopi = 0;15. liftWidth = 70;16. liftHeight = 60 * numOfFloor;17. tagWidth = 30;18. tagHeight = liftHeight;19. innerBtnWidth = 120;20. innerBtnHeight = liftHeigh

25、t / 3;21. stateWidth = 120;22. stateHeight = 2 * liftHeight / 9;23. PanelWidth = tagWidth + innerBtnWidth + liftWidth;24. PanelHeight = liftHeight + 10;25. 26. D、LiftMaster构造函数1. public LiftMaster(int numOfFloor) 2. setBackground(Color.lightGray);3. init(numOfFloor);4. innerBtn = new InnerButton(num

26、OfFloor);5. liftState = new LiftState();6. cage = new LiftCage(numOfFloor);7. tag = new LiftTage(numOfFloor);8. setLayout(null);9. tag.setBounds(liftWidth + 9, 3, tagWidth, tagHeight);10. cage.setBounds(8, 3, liftWidth, liftHeight);11. innerBtn.setBounds(10 + tagWidth + liftWidth, 5, innerBtnWidth,

27、innerBtnHeight);12. liftState.setBounds(10 + tagWidth + liftWidth, 30 + innerBtnHeight, stateWidth, stateHeight);13. add(tag);14. add(cage);15. add(innerBtn);16. add(liftState);17. (二)控制流程图ALiftGroupMaster初始化各变量Init()BLiftGroupMaster构造函数:CLiftMaster初始化各变量Init():DLiftMaster构造函数:(三)测试用例1语句覆盖:ALiftGroupMaster初始化各变量Init():序号输入数据预计输出覆盖对象实际输出测试结果楼层数电梯数最大载人数111213初始化电梯控制台144初始化电梯控制台Passe

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1