优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

电力负荷管理系统测试方案设计与实现

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:
基本理论知识及其应用
3.1 软件测试
近年来,国内应用软件系统开发的发展非常迅速,但是离国际先进水平仍然有不小的差距,无论在软件开发方面还是在产品输出方面,都相差甚远。最主要的原因是软件工程的要领和实施不到位。而在软件工程的实施过程中,软件测试又是重中之重。对软件测试更大的误解是,将其当作软件行业中不重要的工作。产生这个错误想法的主要原因是,为数不少的公司仍然在没有任何实际测试过程的条件下开发软件。他们还不知道需要各种级别的软件测试员来保证公司制作出优秀的软件;即使知道,也不具备测试的条件和能力。软件无处不在,然而,软件是人编出来的— 所以不完美,必须进行软件测试。其目的在于:找出软件缺陷,尽可能早一些。且竭尽全力使其得以修复。
软件测试通常是使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。即检验程序的正确性、可靠性和有效性。
软件测试是一项严谨的工作。随着当今软件的规模和复杂性日益增加,进行专业化高效软件测试是非常必要的,也是至关重要的,同时也是保证软件质量的主要途径之一。
测试的目的是在软件投入生产性运行之前,尽可能多地发现软件中的错误或缺陷。测试是对软件规格说明、设计和编码的最后复审,所以软件测试贯穿在整个软件开发期的全过程。

think58好,好think58

[来源:http://www.think58.com]


测试是为了发现程序中的错误而执行程序的过程,好的测试方案是尽可能地发现至今尚未发现的错误的测试方案。成功的测试则是发现至今尚未发现的错误的测试。
在进行软件测试时,应根据实际情况选择测试方法。最好的方法是将黑盒测试法和白盒测试法综合使用,以设计出最好的测试用例,达到真正做到充分而且全面的测试。
3.1.1 功能测试
功能性测试与软件如何实现无关,如果实现发生变化,功能性测试用例仍然可用。测试用例开发可以与软件开发同时进行,可节省软件开发时间,通过软件测试用例(use case)就可以设计出大部分功能性测试用例。
功能测试是系统测试中最基本的测试,它不管软件内部的实现逻辑,主要根据产品的需求规格说明书和测试需求列表,验证产品的功能实现是否符合产品的需求规格。功能测试主要内容有界面切换、业务流程测试等。
1.界面切换测试
链接或界面切换是应用系统的一个主要特征,它是在页面(界面)之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面:首先,测试所有链接是否按指示确实链接到链接的页面;其次,测试链接的页面是否存在;最后,保证应用系统上没有孤立的页面。对于Web系统而言,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。

[资料来源:http://THINK58.com]


链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成后,也就是说,在整个应用系统的所有页面开发完成之后进行链接测试。
2.业务流程测试
业务流程测试主要是系统业务流程的测试,根据用例场景设计测试用例。用例场景是通过描述流经用例的路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有基本流和备选流。
 MFC程序设计
3.2.1 SOCKET网络通讯
TCP和UDP是TCP/IP协议中的两个传输层协议,它们使用IP路由功能把数据包发送到目的地,从而为应用程序及应用层协议(包括:HTTP、SMTP、SNMP、FTP和Telnet)提供网络服务。
传输控制协议 TCP 是 TCP/IP 协议栈中的传输层协议,与 IP 协议相结合, TCP 组成了因特网协议的核心。
由于大多数网络应用程序都在同一台机器上运行,计算机上必须能够确保目的地机器上的软件程序能从源地址机器处获得数据包,以及源计算机能收到正确的回复。这是通过使用 TCP 的“端口号”完成的。网络 IP 地址和端口号结合成为唯一的标识 , 我们称之为“套接字”或“端点”。 TCP 在端点间建立连接或虚拟电路进行可靠通信。
主站的采集命令是可以随时发送的,是整个系统中数据传递的关键所在,只有当主站的采集命令安全下发,终端才能按照正确的指令采集数据。前置机提供了一个通信通道,主站与前置机间采用TCP协议来实现通信的原因有如下几点: think58 [资料来源:http://THINK58.com]
1.TCP提供可靠的基于字节流的传输。它包含专门的传递保证机制,当数据接收方收到发送方传输的信息时,会自动向发送方发出确认消息,而发送方只有在接收到该确认消息之后才继续传送其他信息,否则将一直等待知道收到确认信息为止,即三次握手原理。其可靠机制允许设备处理丢失、延时、重复及读错的包,允许设备监测丢失包并请求重发。TCP通过序列确认以及包重发机制,提供可靠的数据流发送和到应用程序的虚拟连接服务。在传输采集命令的过程中,TCP会将数据流分割成适当长度的报文段并给每一个字节一个序号,保证传递到前置机的包是按序接收的,从而保证主站的命令会安全到达前置机;
2.TCP协议提供的是面向连接的、端到端的传输。在通信过程中,系统在通信前,及在主站发送数据采集任务之前,需要启动前置机作为服务器来建立两者之间的连接;
3.TCP可进行双工操作。及在发送数据的同时,接收数据;
4.TCP提供多路技术。大量同时发生的上层会话能在单个连接上同时进行多路复用。因此在系统中主站可以选择多个终端发送采集命令。
与TCP不同,UDP提供的是非面向连接的、不可靠的数据流传输。如果数据在从发送方到接收方的传递过程中出现丢失,协议并不会做出任何检测或者提示。另外,UDP并不能确保数据的发送和接收顺序,特别是在网络十分拥挤的情况下,数据接收可能会出现乱序现象。在终端和前置机间采用UDP通信的原因在于UDP具有TCP所望尘莫及的速度优势。虽然TCP协议中植入了各种安全保障功能,比如三次握手,但在实际执行过程中会占用大量的系统开销,这无疑使速度受到严重的影响。而UDP由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。

内容来自think58

[资料来源:http://THINK58.com]


在前置机和终端间采用UDP进行通信。其原因在于,系统对前置机和终端之间数据传输的可靠性要求并不高,但对数据的传输速度要求很高。尤其是当终端数量多或者终端的表计较多时,输的数量就会十分庞大复杂,因此不适合用TCP。
3.2.2 多线程
线程和进程的关系是:线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。线程可与属于同一进程的其它线程共享进程所拥有的全部资源,但是其本身基本上不拥有系统资源,只拥有一点在运行中必不可少的信息。
程序在处理这些问题的时候往往需要花费很多的时间,如果不使用线程,则程序在执行时的就会表现出如运行速度慢,执行时间长,容易出现错误、反应迟钝等问题。而如果把这些可能造成大量占用程序执行时间的过程放在线程中处理,就往往能够大大提高应用程序的运行效率和性能和获得更优良的可伸缩性。
进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时被释放或关闭。
线程是进程内部的一个执行单元。系统创建好进程后,实际上就启动执行了该进程的主执行线程,主执行线程以函数地址形式,比如说main或WinMain函数,将程序的启动点提供给Windows系统。主执行线程终止了,进程也就随之终止。 [资料来源:THINK58.com]
每一个进程至少有一个主执行线程,它无需由用户去主动创建,是由系统自动创建的。用户根据需要在应用程序中创建其它线程,多个线程并发地运行于同一个进程中。一个进程中的所有线程都在该进程的虚拟地址空间中,共同使用这些虚拟地址空间、全局变量和系统资源,所以线程间的通讯非常方便,多线程技术的应用也较为广泛。
多线程可以实现并行处理,避免了某项任务长时间占用CPU时间。要说明的一点是,目前大多数的计算机都是单处理器(CPU)的,为了运行所有这些线程,操作系统为每个独立线程安排一些CPU时间,操作系统以轮换方式向线程提供时间片,这就给人一种假象,好象这些线程都在同时运行。由此可见,如果两个非常活跃的线程为了抢夺对CPU的控制权,在线程切换时会消耗很多的CPU资源,反而会降低系统的性能。