欢迎来到成都信息处理产品检测中心!客户服务 | 联系我们
技术专栏 您当前所在位置: > 信息资讯 > 技术专栏 >

软件验收测试

类别:技术专栏 信息来源:未知 浏览量:

成都信息处理产品检测中心是独立第三方检测机构,我们已经为数千家企业提供软件验收测试,得到了他们的一致好评!下面给大家分享一些软件验收测试的好处和测试方法
    引言
任何软件工程项目在软件开发编码过程中,为了保证软件的质量,提高可靠性,必须分阶段对软件进行测试,目的是尽可能找出软件存在的错误,并加以改正,使软件达到原来确定的设计要求,才能交付用户试用。在用户对软件试运行中,仍可能发现一些错误,必须及时改正并测试。软件试用一段时间后,必须组织有关专家,对软件工程项目进行验收测试,验收测试主要是确认软件的功能、性能及其他特性是否满足软件需求规格说明书中列出的需求,是否符合软件开发商与用户签订的合同的要求。本文从软件测试的基本概念人手,简要介绍软件测试的含义和重要性,然后结合自身多年参与软件工程项目的验收、评审及鉴定的实践,着重介绍软件工程项目验收测试应该做的测试项目和内容仅供参考。
    一、软件测试的含义和重要性
在IEEE提出的软件工程标准术语中,对软件测试作了如下定义"软件测试是使用人工或自动手段来运行或测试某个系统的过程,目的在于检验·56·2/2 00 5汕头科技它是否满足规定的需求或弄清预期结果与实际结果之间的差别"。MYERS在《THE ART OF SOFTWARETEsTING》一书中认为"软件测试是为了发现错误而执行程序的过程"。以上两种观点并不矛盾,因为软件在不同阶段,由于测试的目的不同,必须做不同层次的测试,比如在软件代码编
写阶段,必须进行单元测试、集成测试、有效性测试、系统测试,多数采用白盒测试的方法,软件测试的工作量约占软件开发总工作量的4O左右,目的是尽可能多的找出软件存在的错误并加以改正。而在软件验收阶段,主要是对软件进行确认测试,可以在实际运行环境中进行测试,也可以在模拟环境下,运用黑盒方法进行测试,目的是验证软件的功能、性能及其它特性是否满足需求规格说明书的规定,是否符合合同的条款。由此看来,软件测试在任何软件工程项目中是最关键的环节,如果软件开发过程中,对测试环节把关不严,将不可能开发出高质量及符合应用需求的软件,存在的问题也必将在应用过程中逐步暴露出来,轻者需长期对软件进行修改,影响用户的实际应用,重者软件无法应用,导致整个工程项目失败。如果交付用户使用前不进行验收测试,用户需求能满足到什么程度?软件还存在多少隐患?不得而知。尤其是有一些隐患,若不通过测试,是很难一下表现出来的,等到有朝一日在实际运行中暴露出来,可能已经给用户带来了巨大的损失。
    二、软件在验收阶段的测试项目
软件验收测试尽可能在现场进行实际运行测试,如果受条件限制,也可以在模拟环境中进行测试,无论何种测试方式,都必须事先制定测试计划规定要做的测试种类,并制定相应的测试步骤和具体的测试用例。一般软件工程项目验收测试的项目有,文档审查、功能测试、性能测试、安装测试、界面测试、配置测试、加载测试、恢复测试、安全测试等等。凡是需求规格说明书中有要求的,都要进行测试,确认是否满足。
    三、软件验收测试的主要内容
    1.文档审查
软件项目验收应提供的文档有,项目研制总结报告、项目技术、经济分析报告、软件需求规格说明书、测试总结报告、用户使用操作手册及维护手册等,主要审查文档的完整性、正确性和可理解性,编写是否规范。文档如果不齐全或描述不清甚至错误,将给用户使用带来不必要的麻烦,甚至阻碍软件的升级。
    2.安装测试
安装测试第一个目的是验证软件在最基本要求的配置情况下安装后能否正常运行?第二个目的是检验软件在非正常条件下安装,非正常条件包括磁盘空间不足、内存不够、缺乏创建目录的特权等,在这种情况下,安装程序能否给用户足够的提示。
    3.功能测试
功能测试是按照软件需求规格说明书规定的功能需求,逐项检验软件功能是否正确,有无严重错误。测试时,一般事先准备好测试用例,检验是否得到期望的输出。测试用例至少要包含以下情况,合法数据、边界数据和非法数据。软件工程项目在进行诸多项目的内容测试之后必须客观、公正、如实地编写软件验收测试报告,报告中必须说明测试的环境条件、测试的内容及软件符合需求规格说明书中规定的需求情况,对软件中突出的功能、性能及创新性
或采用的先进技术,应给予充分肯定,软件中哪些未能满足需求规格说明书的需求也应如实反映,使测试报告真正成为项目评审、鉴定的重要依据。
   4.性能测试
性能测试是检查系统是否满足需求规格说明书中规定的性能要求,一般主要测试软件的运行速度和对资源的利用率。性能主要表现在以下几个方面,响应时间、吞吐量、辅助存储区(如缓冲区、工作区)的大小,处理精度等。 性能测试中很重要的一项是极限测试,因为很多软件系统会在极限状态下崩溃。例如连续不停地向服务器发出请求,测试服务器是否会陷人死锁状态给系统输人特别大的数据后,检测程序的运信息化应用研究行状况等。
    5.界面测试
界面测试是检查软件界面所关联的对象是否正确,运行是否正常,界面之间的链接是否合理,界面是否符合相关标准和用户习惯,界面是否美观、友好等。
   6.加载测试
加载测试是要检查软件在超正常数据量情况下,软件系统的反应。例如在B/S体系结构中,对WEB服务器和数据库服务器的加载测试,通常是利用测试工具软件产生虚拟用户负载,逐步增加虚拟用户数量,并使每个虚拟用户运行相同脚本或不同的脚本,考察软件系统的运行状况。
   7.配置测试
配置测试是要验证在不同的硬件和软件配置下软件的运行状况,特别是对最大和最小配置要进行测试。其中,软件配置参数有网络内存的大小,不同的操作系统版本和网络软件。系统表格的大小及可使用的规程等。硬件配置参数有节点的数量,主机及外设的配置、数量和类型、网络拓朴结构等。
   8.恢复测试
恢复测试是通常采用人工干预的手段,模拟硬件故障或故意造成软件出错,考察软件系统的反应,系统能否正常地继续进行工作,并不对系统无故障部分造成任何损害。
   9.安全性测试
安全性测试对于接人互联网的系统尤为重要,一般着重考察用户权限的限制。用户登陆的有效性检查,系统认证加密机制的有效性,网络安全保密性能检测,人侵监控、数据备份等。其中,网络安全保密性能检测主要是检测网络是否存在安全性漏洞,例如:以系统输人为突破口,利用输人的容错性进行正面攻击,申请和占用过多的资源压跨系统,以破坏安全措施从而进人系统,故意使系统出错,利用系统恢复过程,窃取用户口令及其他有用信息,浏览系统中残留的垃圾信息,以获取口令、安全码、译码关键字等。人侵监控是一旦发现攻击,能发出警报,并采取相应措施(如阻断、跟踪和反击),记录人侵过程为系统恢复和追查攻击的来源提供依据。如果软件工程项目是属涉及国家秘密系统,必须从物理安全,网络运行安全,信息保密安全,安全保密管理等诸多方面进行严格的测试和审查,而且必须由国家安全保密部门指定的相关机构进行测试和审查测试和审查合格后方准投人运行。

手机扫一扫

成都信息产品处理检测中心 蜀ICP备10207271号-1