软件架构设计说明书-基于CS模式的多媒体公告板系统.doc

上传人:爱问知识人 文档编号:5027581 上传时间:2020-01-29 格式:DOC 页数:33 大小:121KB
返回 下载 相关 举报
软件架构设计说明书-基于CS模式的多媒体公告板系统.doc_第1页
第1页 / 共33页
软件架构设计说明书-基于CS模式的多媒体公告板系统.doc_第2页
第2页 / 共33页
软件架构设计说明书-基于CS模式的多媒体公告板系统.doc_第3页
第3页 / 共33页
软件架构设计说明书-基于CS模式的多媒体公告板系统.doc_第4页
第4页 / 共33页
软件架构设计说明书-基于CS模式的多媒体公告板系统.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《软件架构设计说明书-基于CS模式的多媒体公告板系统.doc》由会员分享,可在线阅读,更多相关《软件架构设计说明书-基于CS模式的多媒体公告板系统.doc(33页珍藏版)》请在三一文库上搜索。

1、 软件架构设计说明书【基于C/S模式的多媒体公告板系统】学院:计算机与信息工程学院班级: 分组情况: 组长: 组员:指导老师: 实习日期:2011-7-11目录一JUit 下的测试环境简介 二测试目标与范围 4.1测试目标 4.2测试范围 三.测试计划 四软件测试的方法 4.1 黑盒测试 4.1.1 定义4.1.2 设计测试用例4.1.3 实际结果与预期结果分析 4.2 白盒测试4.2.1 定义4.2.2 设计测试用例4.2.3 实际结果与预期结果分析 4.3 静态测试和动态测试4.3.1 定义4.3.2 设计测试用例4.3.3 实际结果与预期结果分析 4.4 主动测试和被动测试4.4.1 定

2、义4.4.2 设计测试用例 4.4.3 实际结果与预期结果分析5 集成测试和系统测试5.1 定义5.2 设计测试用例 5.3 实际结果与预期结果分析6 验收测试6.1 定义6.2 设计测试用例 6.3 实际结果与预期结果分析7 软件缺陷8 参考文件 9 分析摘要1 JUit 下的测试环境简介 在C/S多媒体公告板测试中,针对测试模型的存储测试问题,提出了单元素、单个测试元模型、组合测试元模型等测试覆盖准则,并通过实例化的方法生成了测试用例,讨论了测试结果的判定方法.在Eclipse平台上,借助于JUnit框架实现 了模型存储测试.通过分析不同数量级的测试用例对执行效率的影响以及不同测试覆盖准则

3、和相应的JUnit测试代码规模之间的关系,为测试元模型的设计与存 储提供了实践指导,并表明JUnit框架可以用于基于元模型的测试.提出了一个基于JUnit和元模型的自动测试框架-JMetamodel,可以用于 模型存储以及模型转换的测试.二测试目标与范围 4.1测试目标 测试目标:对于该系统的基本功能,要全部进行测试 ,不能有遗漏。保证代码中的问题要及早发现并解决。还要保证系统运行稳定。对于偶然问题要采取必要的防范措施。用JUnit写测试真正所需要的就三件事:1一个import语句引入所有junit.framework.*下的类。2一个extends语句让你的类从TestCase继承。3一个调

4、用super(string)的构造函数。 4.2测试范围 序号功能点功能描述1视频播放控制设置视频的名称还有播放的时间2显示屏控制控制显示屏尺寸大小,网页新闻的刷新速度,滚动文字细信息播放次数,滚动文字信息的速度3用户登录管理员帐号是管理该系统的凭证4传输文件将要播放的文件5滚动文字信息控制设置播放的实时公告6网页新闻控制播放新的网页新闻的时间7Socket通信在界面显示在线用户 3. 测试计划 3.1 测试环境设备名称硬件、软件配置用途说明Jmf安装Sun公司的JDK和JMF(Java Media Framework)Java媒体框架(JMF)。该核心框架支持不同媒体(如:音频输出和视频输出

5、)间的时钟同步。它是一个标准的扩展框架,允许用户制作纯音频流和视频流。JDICJava为了使用java建立桌面应用程序而建立的JDIC 单一的 Java API 允许应用程序接进本机操作系统特性,同时保持跨平台支持。 它目前提供了本机 Web 浏览器(Internet Explorer 或 Mozilla) 支持、系统托盘支持、文件扩展集成、应用程序启动与打印和其他桌面特性。 3.2 测试计划设计活动范围广度验证深度测试系统业务逻辑部分采用条件组合覆盖 测试各种可能情况并反复验证业务逻辑的正确性测试设计用例设计要求100%覆盖功能等价类划分中的有效等价类、无效等假类,边界值用例评审用例评审要求

6、对功能用例进行进行100%评审用例评审需说明评审的角度,如:功能性、可用性、可支持性四软件测试的方法 4.1 黑盒测试 4.1.1 定义 称功能测试或者是数据驱动测试方法,在测试时,把程序看作一个不打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试人员针对软件直接进行测试,检查系统功能是否按照需求规格说明书的规定正常使用,是否能够适时的接受数据而输出正确的结果,检查相应的文档是否正确的采用了模板,是否满足规范要求等。4.1.2 设计测试用例Import junit.framework.*Class Test extends TestCaseInt startYearNum;Int

7、startMouthNum;Int startDayNum;Int startHourNum;Int startMinuteNum;Int endYearNum;Int endMouthNum;Int endDayNum;Int endHourNum;Int endMinute;Super();if(startYearNum 12 | startMonthNum 31 | startDayNum 1)JOptionPane.showMessageDialog(null, 日期输入非法);return;System.out.println(+startDayNum);if(startHourNu

8、m = 24)JOptionPane.showMessageDialog(null, 小时输入非法!);return;System.out.println(+startHourNum);if(startMinuteNum = 60)JOptionPane.showMessageDialog(null, 分钟输入非法!);return;System.out.println(+startMinuteNum);if(endYearNum 12 | endMonthNum 31 | endDayNum 1)JOptionPane.showMessageDialog(null, 日期输入非法);retu

9、rn;System.out.println(+endDayNum);if(endHourNum = 24)JOptionPane.showMessageDialog(null, 小时输入非法!);return;System.out.println(+endHourNum);if(endMinuteNum = 60)JOptionPane.showMessageDialog(null, 分钟输入非法!);return;System.out.println(+endMinuteNum); / end of test class 1.等价类划分方法:有效等价类/ 无效等价类startYearNum=

10、2011 年/2009年startMouthNum=7月/ 13月startDayNum=1号/32号startHourNum=10小时/25小时startMinuteNum=10分钟/ 61分钟endYearNum=2011年/2012年endMonthNum = 10月/ 13月endDayNum= -1日/ 0日/ 32 日endHourNum = 10小时/0小时/-10 小时endMinuteNum=20分钟/ 61分钟/-2 分钟 2.边界值分析法:取每个范围的最值问题startYearNum=2011 年startMouthNum=1月/ 12月startDayNum=31号/3

11、0号/1号startHourNum=00小时/24小时startMinuteNum=00分钟/ 60分钟endYearNum=2011年endMonthNum = 12月/1月endDayNum= 1日/ 31日/ 30 日endHourNum = 00小时/24 小时endMinuteNum=60分钟/ 00分钟4.1.3 实际结果与预期结果分析有效等价类预期结果:2011年1月31号00小时00分钟2011年12月30号24小时00分钟 实际运行结果:你输入的数字非法!分析:应将月份中的日期多少按照不同的月份规定为不同的天数,如2月平年28天,闰年29天,大月31天,小月30天无效等价类预

12、期结果:你输入的数值非法!实际运行结果:你输入的数值非法!分析:无效等价类如果按照每个用例都覆盖,则需要更多的测试用例进行测试,此时测试并没有发现bug,但需要更多的测试用例来证明这一点边界值预期结果:2011年1月31号00时60分钟2011年12月31号24时00分钟实际运行结果:日期数值非法!分析:因为日期中没有规定最大的天数为31天语句应该改为If(endDayNum31)JOptionPane.showMessageDialog(null, 日期输入非法!);/end of if else 4.2 白盒测试4.2.1 定义看清楚事物的内部结构,即了解事物的内部结构和运行机制,通过解析

13、事物内部结构和运行机制,来处理和解决问题。也称为结构测试或者是逻辑驱动测试,也就是已知产品的内部工作过程,清楚最终生成软件产品的计算机程序结构及语句,按照程序的内部结构测试程序,测试程序内部的变量状态,逻辑结构,运行路径等,检查程序中的每条通路是否都能按照要求正确工作,检查程序内部动作或运行是否符合设计规格要求,所有内部成分是按照规定正常进行,基于覆盖测试,具体方法有逻辑覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,主要用于单元测试 4.2.2设计测试用例实例if(startYearNum 12 | startMonthNum 31 | startDayNum 1)JOptionPane.sh

14、owMessageDialog(null, 日期输入非法);return;if(startHourNum = 24)JOptionPane.showMessageDialog(null, 小时输入非法!);return;if(startMinuteNum = 60)JOptionPane.showMessageDialog(null, 分钟输入非法!);return;if(endYearNum 12 | endMonthNum 31 | endDayNum 1)JOptionPane.showMessageDialog(null, 日期输入非法);return;if(endHourNum =

15、24)JOptionPane.showMessageDialog(null, 小时输入非法!);return;if(endMinuteNum = 60)JOptionPane.showMessageDialog(null, 分钟输入非法!);return;catch (Exception e1) / TODO: handle exceptionJOptionPane.showMessageDialog(null, 你的输入有误,只能为纯数字!);return;注:红色字体可以设计测试用例 4.2.3预期结果与实际结果分析1 覆盖路径法:(T T T T T )所有路径都选择正确的值,按要求经过

16、每条路径设 :初始值分别为以下startYearNum=2011 年startMouthNum=7月startDayNum=1号startHourNum=10小时startMinuteNum=10分钟endYearNum=2011年endMonthNum = 10月endDayNum= 15日endHourNum = 10小时endMinuteNum=20分钟endMinuteNum=20分钟预期结果: 显示端在这一段时间都有播放,没有出现任何程序异常实际结果:因为月份没到,所以此次测试用例是失败的2 基本路径覆盖法(F F F F F)startYearNum=2011 年/2009年sta

17、rtMouthNum=7月/ 13月startDayNum=32号startHourNum=25小时startMinuteNum=61分钟endYearNum=2012年endMonthNum = 13月endDayNum= -1日/ 0日endHourNum = 0小时/-10 小时endMinuteNum=61分钟/-2 分钟预期结果:程序无法显示,弹出警告框,显示输入数据均不合法,需要重新输入实际结果:播放默认文件,等到定点时间弹出警告框,程序无法正常接收来自与服务器端的信息 bug 修复 路径覆盖法有时候可能还是无法覆盖到所有路径,这就可能导致程序的一些漏洞,在设置年份上,要考虑用户使

18、用的周期,可能有些时间没有考虑到,导致用户无法使用该程序 4.3 静态测试和动态测试4.3.1 定义 静态测试是静态分析,对模块源代码进行研读,查找错误或者收集一些度量数据,并不需要对代码进行编译和仿真运行。静态测试包括对软件产品的需求和和设计规格说明书进行评审,对程序代码的复审等。包括人工检测,计算机辅助静态分析不易发现的问题。 动态测试是通过真正的运行程序发现错误,通过观察代码的运行过程,来获取系统行为,变量实时结果,内存,堆栈以及测试覆盖度等方面的信息,来判断系统是否存在问题4.3.2 设计测试用例(如下表)4.3.3 实际结果与预期结果分析(如下表)用例名称用户登录优先级高执行时间估计

19、3s 前提条件启动程序,显示客户登陆基本操作步骤输入用户名,密码输入/动作预期输出实际输出正确的用户名,错误的密码不能登陆后台控制不能登陆后台控制错误的用户名,正确的密码不能登陆后台控制不能登陆后台控制错误的用户名,错误的密码不能登陆后台控制不能登陆后台控制正确的用户名,正确的密码登陆后台控制登陆后台控制 4.4 主动测试和被动测试4.4.1 定义、测试人员主动向被测试对象发送请求,或借助数据,事件驱动被测试对象之间发生直接相互作用的关系,而且被测试对象反应输出结果,主动测试中,测试人员和北侧对象之间发生相互作用的关系,而且被测试对象完全受测试人员的控制,被测试对象处于测试状态,而不是实际工作

20、状态4.4.2 设计测试用例4.4.3 实际结果与预期结果分析用例名称传输文件优先级高执行时间估计3s 前提条件启动服务器基本操作步骤点击启动服务器,点击浏览按钮选择文件,点击传输按钮输入/动作预期输出实际输出不启动服务器,直接发送文件1.mpg后台控制没用反应后台控制没用反应启动服务器,发送格式错误的文件(rar,exe等)显示可以发送正确格式文件的种类显示可以发送正确格式文件的种类启动服务器,不选择文件直接发送。后台控制没用反应后台控制没用反应启动服务器,选择正确的文件发送1.mpg,1.html显示发送成功,文件存在客户端D盘的相关文件夹显示发送成功,文件存在客户端D盘的相关文件夹但是,

21、在发送mpg文件时有时会发送多个相同文件。(已解决)五集成测试和系统测试5.1 定义 集成测试是将已分别通过测试的单元按照要求组合起来再进行的测试,以检查这些单元之间的借口是否存在问题,经过集成测试以后,分散的模块被连接起来,构成相对完整的体系,其中各模块间借口存在的种种问题都已经基本消除,测试开始进入到系统测试阶段。系统测试由若干个不同的测试组成,目的是充分运行系统,验证整个系统是否满足非功能性的质量要求。5.2 设计测试用例人们常常将非功能测试(如安全,可靠性,性能)看作是系统测试,以区别于功能测试,压力测试,容量测试和性能测试的测试目的虽然有所不同,但其手段和方法在一定程度上比较相似,都

22、是采用负载测试技术.5.3 实际结果与预期结果分析测试活动活动描述目标回归测试重复以前的全部或部分的相同测试回归测试的重心,以关键性模组为核心。新老功能进行完整功能回归接口测试检查数据的交换,传递和控制管理过程,还包括处理的次数为了测试接口,尤其是那些与系统相关联的外部接口BUG验证测试验证BUG是否已被修改需对全部BUG进行验证测试目标:核实所指定的事务或业务功能在以下情况下的性能行为:正常的预期工作量预期的最繁重工作量方法:使用为功能或业务周期测试制定的测试过程。通过修改数据文件来增加事务数量,或通过修改脚本来增加每项事务的迭代次数。 建立性能测试负载模型,确定并发虚拟用户的数量、每次请求

23、的数据量、思考时间、加载方式和持续加载的时间等。 执行性能测试。通过多次运行性能测试负载模型,获得系统的性能数据。提交性能测试报告,包括个测试方法、负载模型和实际那功能测试、性能测试结果及其分析等。完成标准:单个事务或单个用户:在每个事务所预期或要求的时间范围内成功地完成测试脚本,没有发生任何故障。多个事务或多个用户:在可接受的时间范围内成功地完成测试脚本,没有发生任何故障。需考虑的特殊事项:综合的性能测试还包括在服务器上添加后台工作量。 可采用多种方法来执行此操作,其中包括: 直接将“事务强行分配到”服务器上,这通常以“结构化查询语言”(SQL) 调用的形式来实现。通过创建“虚拟的”用户负载

24、来模拟许多个(通常为数百个)客户机。 此负载可通过“远程终端仿真”(Remote Terminal Emulation) 工具来实现。 此技术还可用于在网络中加载“流量”。使用多台实际客户机(每台客户机都运行测试脚本)在系统上添加负载。 性能测试应该在专用的计算机上或在专用的机时内执行,以便实现完全的控制和精确的评测。性能测试所用的数据库应该是与实际大小相同或等比例缩放的数据库。六验收测试6.1 定义是在软件完成了功能测试 和系统测试后,产品发布前所进行的测试活动,他是技术测试的最后一个阶段,也称为交付测试。6.2 设计测试用例(如下图)6.3 实际结果与预期结果分析(如下图)测试活动活动描述

25、目标回归测试重复以前的全部或部分的相同测试回归测试的重心,以关键性模组为核心。新老功能进行完整功能回归接口测试检查数据的交换,传递和控制管理过程,还包括处理的次数为了测试接口,尤其是那些与系统相关联的外部接口BUG验证测试验证BUG是否已被修改需对全部BUG进行验证7 软件缺陷1.服务器不能向特定的一个客户端发送信息,只能给所有的客户端发送信息。2客户端断开连接时,服务端的在线用户列表里不能及时更新。八参考文件 开源中国社区 网站软件测试方法与技术 朱少民 清华大学出版社UML 统一建模使用教程王先国 等 清华大学出版社JUIT 使用手册 互联网技术支持单元测试之JUIT JDepend 技术开放源代码评估体系论软件的成熟度九分析摘要9.1能力系统同时显示视频,网页和文字信息;系构造多媒体信息发布服务端,能实时更新多媒体系统,采用C/S模式;界面各部分尺寸、服务器信息以及文字滚动速度等信息可配置(均基于XML配置文件)。9.2缺陷和限制1.服务器不能向特定的一个客户端发送信息,只能给所有的客户端发送信息。2客户端断开连接时,服务端的在线用户列表里不能及时更新。9.3建议1.写一个新的方法来实现服务器向特定的一个客户端发送信息。2.在客户端关闭时,发送一个信息给服务端以实现服务器在线用户的实时更新。9.4 评价已经达到预期的目标,实现了所有的要求的功能,可以交付使用。33

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

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1