收藏 分享(赏)

软件测试和UML技术课程设计.doc

上传人:dzzj200808 文档编号:2725648 上传时间:2018-09-26 格式:DOC 页数:28 大小:1.20MB
下载 相关 举报
软件测试和UML技术课程设计.doc_第1页
第1页 / 共28页
软件测试和UML技术课程设计.doc_第2页
第2页 / 共28页
软件测试和UML技术课程设计.doc_第3页
第3页 / 共28页
软件测试和UML技术课程设计.doc_第4页
第4页 / 共28页
软件测试和UML技术课程设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、枣庄学院信息科学与工程学院2014-2015 学年 第 2 学期专 业: 计算机科学与技术 课程名称: 软件测试和 UML 技术 班 级: 姓 名: 学号: 指导教师: 实验报告使用免费的在线测试工具测试网站的性能实验目的了解什么是软件测试? 软件测试的有哪些方法?常用的测试工具有哪些?背景知识1软件测试软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。 软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果) ,并利用这些测试用例去运行程序,

2、以发现程序错误的过程。 2测试过程为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、系统测试和验收测试。代码会审由一组人通过阅读、讨论和争议对程序进行静态分析的过程。单元测试集中在检查软件设计的最小单位模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。系统测试是测试整个系统,以证实它满足“需求规格说明书”所规定的功能、质量和性能等方面的特性。验收测试的目的是向未来的用户表明系统能够像预定要求那样工作。与系统测试非常相似,主要区别是测试人员不同,

3、验收测试由用户执行。3测试方法软件测试的方法分为功能性测试和结构性测试。功能测试是指在对程序进行功能抽象的基础上,将程序划分成功能单元,然后在数据抽象的基础上,对每个功能单元生成测试数据进行测试。进行功能测试时,被测程序被当作打不开的黑盒,因而无法了解其内部构造,因此又称为黑盒测试。结构性测试是知道产品内部工作过程,检测产品内部动作是否按照规格说明书的规定正常进行。它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。此方法把测试对象看作一个透明的盒子,又叫白盒测试。4测试工具软件测试的工作量很大(据统计,会用到 40% 的开发时间;一些可靠性要求非常

4、高的软件,测试时间甚至占到总开发时间的 60% ) ,但测试却是在整个软件过程中极有可能应用计算机进行自动化的工作,原因是测试的许多操作是重复性的、非智力创造性的、需求细致注意力的工作。测试工具的应用已经成为了普遍的趋势。测试工具一般可分为白盒测试工具、黑盒测试工具、性能测试工具,另外还有用于测试管理(包括测试流程管理、缺陷跟踪管理、测试用例管理)的工具。实验内容使用下面 12 个免费的在线软件测试工具,每位同学选择 3 个工具对枣庄学院网站和自己选择的一个自己喜欢的网站的性能进行测试将测试结果进行总结和对比。1) Web Page Test http:/www.webpagetest.org

5、/从世界各地多个地点,使用真正的浏览器(IE 和 Chrome) ,并在真正的消费者连接速度,对你的网站进行速度测试。您可以运行简单的测试,或执行多步交易,视频采集,内容封锁和更先进的测试,包括。您的结果将提供丰富的诊断信息,包括资源加载的瀑布图,网页速度优化检查和改进建议。2) Load Impact http:/ Impact 是一个用来测试网站一次性可支持的负载数,可在同一时间从不同的地点发起 50 个并发请求,然后分析出你的网页加载的速度。3) FreeSpeedTest http:/ 是最棒的网站速度测试工具之一,用于测试网站访问速度和加载时间,可模拟来自全球各地的请求。4) Bro

6、wser Mob https:/ 25 个真实浏览器或 100 个虚拟用户来检测网站速度,同时提供脚本验证服务等。5) Rapid Search Metricshttp:/ SEO 搜索引擎优化和速度测试和分析,数据包括网站的平均速度、数据量,非HTML 加载时间等等。6) Host Tracker http:/host- 95% 的节点对网站进行模拟测试,包括错误报告通知到手机,支持 HEAD/POST/GET 等方法以及 CGI 脚本操作。7) Pingdom Tools http:/ Html、css 和 js、图片等。8) Webo Softwarehttp:/ 无效 f.c.e题目二

7、:三角形问题使用黑盒测试方法测试三角形问题。 (等价类测试法、边界值测试法、决策表测试法)假定三角形的 3 条边的取值限制在 1100,这里选择 100 作为边长的上限只是为了问题研究方便而设定,另外,这里的边长只取整数,三角形问题可以更具体描述为以下形式:输入 3 个数 a、b、c 分别作为三角形的 3 条边,要求 a、b、c 必须满足以下条件。Con1: 1a100;Con2:1b100 ;Con3:1c100;Con4 :a3)9 j=j%3;10 说明:程序段中每行开头的数字(110)是对每条语句的编号。(1) 画出程序的控制流图(用题中给出的语句编号表示) 。(2) 分别以语句覆盖、

8、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示) 。(1)124 , 5789语句覆盖:用例 X Y Z 执行路径T01 4 6 5 1,2,4,5,7,8,9判定覆盖:用例 X Y Z 执行路径 覆盖范围T01 5 3 6 2,45,7,9 TFT02 4 6 6 2,7,8 FT条件覆盖:用例 X Y Z 执行路径 覆盖范围T01 2 3 11 2,7,9 FFT02 4 6 7 2,45,7,8 TT判定/条件覆盖:用例 X Y Z 执行路径 覆盖范围T01 5 3 6 2,45,7,9 TFT02 4 6

9、6 2,7,8 FT组合覆盖:用例 X Y Z 执行路径 覆盖范围T01 4 6 7 2,45.7,8 TTT02 2 3 11 2,7,9 FFT03 5 3 6 2,45,7,9 TFT04 4 6 6 2,7,8 FT路径覆盖:用例 X Y z 执行路径T01 2 3 11 1,2,7,9T02 4 6 6 1,2,7,8,9T03 4 6 7 1,2,45,7,8,9题目二:使用白盒测试方法测试三角形问题下表所示代码的功能是输入 3 个整数 a、b、c,分别作为三角形的 3 条边,是否能构成三角形,如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形) 。另外,三角

10、形边长的取值限制为 1100。表 2序号 程序代码01020304050607080910111213141516171819private string judgeTriangle(int a , int b , int c )string strType; /三角形类型if (a + b c elsestrType = “等腰三角形“;elsestrType = “一般三角形“;elsestrType = “不能构成三角形“;return strType;使用白盒测试方法测试三角形问题的测试计划如下表所示。表 3计划标识符 TestPlan-02-02测试目标 测试三角形问题,判断三角形的

11、类型测试范围 三角形边长为正整数限制条件 三角形的 3 条边的取值限制在 1100 测试概述参考资料 无测试项目 (1)输入 3 个数;(2)取值范围在 1100;(3)三角形类型测试特征 边长的取值在 1100 的正整数测试方法 白盒测试方法:代码检查法、逻辑覆盖法、基本路径测试法测试标准 程序运行结果与预期结果完全一致测试环境 Windows XP 及以上版本的操作系统、Microsoft Visual Studio 2008人员和时间 测试实施人员 1 人,测试时间 2h1.使用代码检查法对三角形问题进行测试针对于表 2 和表 3 中程序代码对代码结构的合理性、代码编写的标准性和可读性、

12、代码逻辑表达的正确性等方面进行检查。2使用逻辑覆盖法对三角形问题进行测试1)分析程序的逻辑结构2)执行语句覆盖的测试3)执行判定覆盖的测试4)执行条件覆盖的测试5)执行条件/判定覆盖的测试6)执行条件组合覆盖的测试3使用基本路径测试法对三角形问题进行测试1)绘制程序流程图2)绘制程序控制流图3)计算环路复杂度4)确定独立路径5)设计软件测试用例6)执行软件测试与分析测试结果1) 绘制程序流程图2)绘制程序控制流图3)计算环路复杂度环路复杂度为 44)确定独立路径独立路径:Path1: 4-6-8-9-18Path2: 4-6-8-11-18Path3: 4-6-14-18Path4: 4-17

13、-185)设计软件测试用例编号 A B C 预期输出 覆盖路径T01 40 40 40 等边三角形 1T02 40 50 50 等腰三角形 2TO3 60 80 100 一般三角形 3TO4 10 20 25 不三角形能构成46)执行软件测试与分析测试结果用例图的绘制实验目的掌握参与者和用例的绘制步骤;掌握用例和用例之间关系的绘制步骤;了解用例图实现的分析过程实验内容网上教学系统需求分析如下:网上教学系统是在网络环境下,充分发挥网络的教育功能和教育资源优势,向教育者和学习者提供的一种教和学的环境,通过传递数字化教育信息,开展交互式的同步或异步的教学活动。由于其具有教学资源共享、学习时空不限、交

14、流多向互动和便于学习合作的特点与优势, 作为传统教育的补充目前在我国的高校中得到了广泛推广。 (1) 学员登录本系统后可以浏览网站的网页信息、选择和查找自己所需要学习文章和课件并进行下载.(2) 教师可以登录本系统,在网站上输入课程介绍、上传课程的课件、发布、更新和修改消息。(3)系统管理员可以进行对本系统网站页面的维护和执行批准用户申请注册的操作。 根据需求分析,确定参与者、用例。然后构建用例模型。实验要求1根据需求分析,确定参与者、用例。然后构建用例模型。2撰写实验报告实验思考如何确定参与者和用例?根据短文分析,参与者有三位:学员,教师,系统管理员1、其中学生的动作:登陆,浏览,选择和查找

15、,下载(其中登陆包含浏览、选择和查找、下载)2、教师的动作:登陆,输入,上传,发布,更新,修改(其中登陆包含输入、上传、发布、更新、修改)3、系统管理员的动作有:登陆,维护,执行批准(其中登陆包含维护和执行批准)则用例图如下图所示:单元测试JUnit 测试框架的使用实验目的1掌握 Junit 测试框架的使用2掌握测试用例的编写实验内容1在工程中添加类类 WordDealUtil 中的方法 wordFormat4DB( )实现的功能见文件注释。2写单元测试代码3进一步完善测试用例单元测试的范围要全面,如对边界值、正常值、错误值的测试。运用所学的测试用例的设计方法,如:等价类划分法、边界值分析法,

16、对测试用例进行进一步完善。继续补充一些对特殊情况的测试:/测试 null 时的处理情况Test public void wordFormat4DBNull()package cn.edu.gzhu;package cn.edu.gzhu;import java.util.regex.Matcher;import java.util.regex.Pattern;public class WordDealUtil /* 将 Java 对象名称(每个单词的头字母大写)按照* 数据库命名的习惯进行格式化* 格式化后的数据为小写字母,并且使用下划线分割命名单词* * 例如:employeeInfo 经过

17、格式化之后变为 employee_info* * param name Java 对象名称*/public static String wordFormat4DB(String name)Pattern p = Ppile(“A-Z“);Matcher m = p.matcher(name);StringBuffer strBuffer = new StringBuffer();while(m.find()/将当前匹配子串替换为指定字符串,/并且将替换后的子串以及其之前到上次匹配子串之后的字符串段添加到一个 StringBuffer 对象里m.appendReplacement(strBuff

18、er, “_“+m.group();/将最后一次匹配工作后剩余的字符串添加到一个 StringBuffer 对象里return m.appendTail(strBuffer).toString().toLowerCase();String target = null;String result = WordDealUtil.wordFormat4DB(target)assertNull(result);/测试空字符串的处理情况Test public void wordFormat4DBEmpty()String target = “;String result = WordDealUtil.w

19、ordFormat4DB(target);assertEquals(“, result);/测试当首字母大写时的情况Test public void wordFormat4DBegin()String target = “TeacherInfo“;String result = WordDealUtil.wordFormat4DB(target);assertEquals(“teacher_info“, result);/测试当尾字母为大写时的情况Test public void wordFormat4DBEnd()String target = “ teacherInfoA“;String

20、result = WordDealUtil.wordFormat4DB(target);assertEquals(“teacher_info_a“, result);/测试多个相连字母大写时的情况Test public void wordFormat4DBTogether()String target = “ teacherAInfo“;String result = WordDealUtil.wordFormat4DB(target);assertEquals(“teacher_a_info“, result);4查看分析运行结果,修改错误代码再次运行测试。JUnit 运行界面提示我们有两个

21、测试情况未通过测试(见图 6) ,当首字母大写时得到的处理结果与预期的有偏差,造成测试失败(failure) ;而当测试对 null 的处理结果时,则直接抛出了异常测试错误(error) 。显然,被测试代码中并没有对首字母大写和 null 这两种特殊情况进行处理,修改如下:/修改后的方法 wordFormat4DBpublic static String wordFormat4DB(String name)if(name = null)return null;Pattern p = Ppile(“A-Z“);Matcher m = p.matcher(name);StringBuffer sb

22、 = new StringBuffer();while(m.find()if(m.start() != 0)m.appendReplacement(sb, (“_“+m.group().toLowerCase();return m.appendTail(sb).toString().toLowerCase();图 6 示例 2 运行结果实验思考什么是单元测试?使用 Junit 进行单元测试需要注意什么内容?还有其他单元测试工具吗?简单的说就是写一个类,测试程序代码会不会出现 BUG,分析测试结果,完善程序功能。状态图和活动图的绘制实验目的1. 掌握状态的定义和组成部分;2. 掌握状态图有哪些组

23、成要素及含义;3. 掌握绘制状态图的基本步骤;4. 掌握活动的概念以及表示方法。5. 掌握活动图中各元素表示的意义和表示方法。6. 掌握阅读和绘制活动图的方法。实验内容1请依据下面关于“远程网络教学系统” 中课件有关描述,绘制出课件的状态图。描述:在“远程网络教学系统”中,一个课件被上传到网站后,首先需要系统管理员对其进行审核,审核通过后此课件就可以被用户浏览、下载。经过一段时间后,系统会清除网站中过时的课件。2请依据下面关于“远程网络教学系统” 中关于学生下载课件的描述,绘制出学生下载课件的状态图。 描述:对于“远程网络教学系统” ,学生如果需要下载课件,首先需要输入网站的网址,打开网站的主

24、页。处于网站主页后,输入用户名密码,如果验证通过则进入功能选择页面,如果验证失败则需要重新输入用户名密码。进入功能选择页面后可以选择下载课件进入课件选择页面,选择需要下载的课件进入课件下载状态。课件下载完毕后,学生就完成了此次课件下载。3把下面图活动图所表达的信息描述出来。用户在网上下订单,选择支付方式,同时系统生成送货单,如果用户取消订单或一直不处理订单,订单超时,则订单自动取消,如果订单有效则系统收款,供应商开始送货,系统修改订单项状态,如果货物到达,则订单项已送货完毕,订单完成4请依据下面关于“远程网络教学系统” 中关于学生下载课件有关描述,绘制出学生下载课件的活动图。 描述:对于“远程

25、网络教学系统”,学生登录后可以下载课件。在登录时,系统需要验证用户的登录信息,如果验证通过系统会显示所有可选服务。如果验证失败,则登录失败。当用户看到系统显示的所有可选服务后,可以选择下载服务,然后下载需要的课件。下载完成后用户退出系统,系统则会注销相应的用户信息。 3请依据下面关于“远程网络教学系统” 中关于系统管理员工作有关描述,绘制出系统管理员的活动图。 描述:在“远程网络教学系统”中,系统管理员登录后可以处理注册申请或者审核课件。在处理注册申请后,需要发送邮件通知用户处理结果;在审核完课件后,需要更新页面信息以保证用户能看到最新的课件,同时系统更新页面。当完成这些工作后,系统管理员退出系统,系统则注销系统管理员账号。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报