77范文网 - 专业文章范例文档资料分享平台

基于socket的网络聊天系统(8)

来源:网络收集 时间:2019-04-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

北京理工大学珠海学院2014届毕业设计(论文)

4.1.2 正确性测试

正确性测试又称功能测试,它检查软件的功能是否符合规格说明。由于正确性是软件最重要的质量因素,所以其测试也最重要。

因本程序主要应用代码检查法,所以对代码正确性的检查是非常重要的。根据程序的模块架构对程序进行检查,保证每一个模块中的所有独立路径至少被使用一次,对所有逻辑值均需测试true和false,对所有逻辑值均需测试true和false,检查内部数据结构以确保其有效性,运用在程序的各个流程中插入断点进行单步跟踪发现,各模块代码都经编译完全且没有错误,没有任何逻辑错误。程序中各个模块皆可进行正常运行,数据也未发生异常现象。

4.2 黑盒测试

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试地,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身有问题或规格说明的规定有误,用墨盒测试方法是发现不了的。

从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有佥的输入,而且还要对那些不合法但可能的输入进行测试。这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。

4.2.1测试环境配置

黑盒测试涉及到程序正常运行的测试。所以可以准备三台计算机组成一个小型局域网进

30

北京理工大学珠海学院2014届毕业设计(论文)

行正确的网络配置,通过HUB将各台计算机连接起来,保证各台计算机都能够ping得通。将一台计算机作为服务器端,另两台计算机作为客户机端。在服务器端运行程序进行侦听,在两个客户端分别运行客户机端程序与服务器端进行连接,即可进行测试。

服务器端A客户机端B客户机端C

图4-1 黑盒测试结构图

4.2.2功能性测试

聊天:先在服务器端A启动对应的软件进行侦听,检测到当前没有任何计算机连接到主机。所以用户列表为空,当客户端B启动后,填写用户名并点击登陆后,服务器端接收到客户端B所提交的登陆信息并进行处理。允许其连接并在其用户列表中添加客户端B的用户名,然后再次检测当前网络状况。因为当前只有客户端B一台计算机与其连接,所以它将用户列表信息发送给客户端B,客户端B接收到用户列表信息后便在本地列表上进行更新。当第二个用户C客户端登陆后,服务器端A重复上述动作,将检测到的用户列表分别发给当前处于活动状态的客户端B和客户端C,它们接收到列表后进行更新。至此,聊天功能搭建完毕,彼此可进行聊天。无论客户端B和客户端C发送消息都会显示在网络中所有处于活动状态的机器上,双方都可以发送和接收信息并在服务器端A进行监测,这样就实现了聊天功能。

聊天:当客户端B双击右侧用户列表上的其它用户名时,将会弹出一个聊窗口,便可对当前点击的用户进行聊天操作。当客户端B发送聊天消息级客户端C时,假如客户端C不处于与B聊天状态的话将会将会弹出一个与B的聊天窗口,然后显示客户端B发送的聊天消息。在窗口里面客户端C可直接进行回复操作,回复的内容将会在客户端B上与C聊天窗口显示

31

北京理工大学珠海学院2014届毕业设计(论文)

而不会被服务器端A检测到,实现聊天功能。

32

北京理工大学珠海学院2014届毕业设计(论文)

4.2.3容错性测试

容错性测试包括两个方面的测试:

1. 输入异常数据或进行异常操作,以检验系统的保护性。如果系统的容错性好的话,系统只给出提示或内部消化掉,而不会导致系统出错甚至崩溃。

2. 灾难恢复性测试。通过各种手段,让软件强制性地发生故障,然后验证系统已保存的用户数据是否丢失、系统和数据是否能很快恢复。

根据以上两方面的测试要求并根据本程序的实际情况,进行了如下测试: 1. 输入异常数据或进行异常操作

在客户端登陆时用户名输入非法字符(非ASC码字符)或用户名为空时,程序将会提示输入正确的用户名并返回到初始状态。当用户发言时如果输入空信息将会提示用户不能发言内容为空。当用户不输入用户名直接点击登陆时,系统将会提示输入正确的用户名并不会登陆,符合输入异常数据检测的要求。

当服务器端程序关闭时,客户端会立即显示与主机失去连接。当某一个客户端关闭时,用户列表会马上进行更新,及时删除此用户。符合进行异常操作检测的要求,当发生意外情况发生关闭时系统完全能够消化掉此种情况。

2. 灾难恢复性测试

由于本程序是即时通信类软件,所以要求数据实时更新,限于功能要求并没有进行数据库操作对聊天记录进行保存。所以对数据恢复性测试不存在。但在功能恢复性方面却存在。经过反复实验证明,当服务器端关闭后,由于其所起的核心作用各客户端将无法进行通信。而当服务器端正常运行,而其中一个客户端关闭后,再次运行另一个客户端程序进行连接,系统可以迅速地执行操作,完全不受其影响。

从容错性测试的概念可以看出,容错测试是一种对抗性的测试过程。要测试软件出现故障时,如何进行故障的转移与恢复有用的数据。故障转移(Failover)是确保测试对象在出现故障时,能成功地将运行的系统或系统某一关键部分转移到其它设备上继续运行。

33

北京理工大学珠海学院2014届毕业设计(论文)

5. 系统总结与展望

本人自2012年2月接受课题以来即进行需求分析,经过一个月的查询和调研各种资料,对聊天工具有了一个大概的了解。于2012年3月开始进入编码阶段,经过前期的需求分析后决定采用VC进行程序开发,利用socket实现此系统功能。编码分两个阶段,前期为聊天阶段,后期为聊天阶段,前期所用的时间比较多,而后期聊天阶段则是在前期的基础上进行的功能改进,整个系统大约花费一个月时间进行编码。大部分时间还是用在测试阶段。 虽然程序完成了,但是程序在整个编码过程中遇到过许多问题,程序还是有许多不完善的地方:

首先,稳定性不足。经过多次测试,发现一个问题就是如果客户端用户过多的话会造成主服务器端信息堵塞,加重服务器负担。聊天功能基本上没有受其影响,但是聊天部分受其影响更大,有可能会引起信息传送延时甚至信息丢失。

其次,功能太过于简单。本系统相对于QQ等那种大型软件来功能过于简单,只有聊天和传文件功能。由于时间及水平有限,不可能做得那么完善,所以比如像语音聊天、视频聊天等功能可以在后续版本中添加进去。

在整个程序设计过程中,自己认识到了不足之处并根据程序需求去了解和补充相关知识。自己在这个过程中了解了许多相关知识,做毕业设计最重要的是培养我们这种对知识的自我挖掘能力,为以后的工作作铺垫。在以后的工作过程中,我一定会牢记在毕业设计过程中学到的心得并加以应用。

作为最快捷方便的沟通工具,目前即时通讯已经被广泛的应用到了日常的工作和学习中,即时通讯用户每天都有大量的资料文件在互联网上往来或被保存,因此,作为信息传输的终端,即时通讯个人信息处理的功能将根本上决定即时通讯产品本身的生命力,这其中不仅包括了文字对话、语音通话,视频交流在内的信息交互功能,还包括了文件传输,发送图片的信息共享功能,同时还包括了聊天记录的有效保存,下传下载的信息管理功能。除了基本的文字聊天、多方聊天、语音聊天和视频聊天功能外,IM的功能日益丰富,逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能,多功能和综合化已成为IM业务的发展趋势。

34

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于socket的网络聊天系统(8)在线全文阅读。

基于socket的网络聊天系统(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/613290.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: