时间:2022-05-04 07:31:36
序论:写作是一种深度的自我表达。它要求我们深入探索自己的思想和情感,挖掘那些隐藏在内心深处的真相,好投稿为您带来了七篇系统测试范文,愿它们成为您写作过程中的灵感催化剂,助力您的创作。
本文从功能、性能、可用性、客户端兼容性、安全性等方面讨论了基于web的系统测试方法。/kF?RZNAX4^''''8gnv[本资料来源于贵州学习网计算机网络技术]/kF?RZNAX4^''''8gnv
随着internet和intranet/extranet的快速增长,web已经对商业、工业、银行、财政、教育、政府和娱乐及我们的工作和生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,电子商务迅速增长,早已超过了国界。范围广泛的、复杂的分布式应用正在web环境中出现。web的流行和无所不在,是因为它能提供支持所有类型内容连接的信息,容易为最终用户存取。
yogeshdeshpande和stevehansen在1998年就提出了web工程的概念。web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于web的系统。它"使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、和维护基于web的系统"。目前,对于web工程的研究主要是在国外开展的,国内还刚刚起步。
在基于web的系统开发中,如果缺乏严格的过程,我们在开发、、实施和维护web的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于web的系统变得越来越复杂,一个项目的失败将可能导致很多问题。当这种情况发生时,我们对web和internet的信心可能会无法挽救地动摇,从而引起web危机。并且,web危机可能会比软件开发人员所面对的软件危机更加严重、更加广泛。
在web工程过程中,基于web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,internet和web媒体的不可预见性使测试基于web的系统变得困难。因此,我们必须为测试和评估复杂的基于web的系统研究新的方法和技术。
一般软件的周期以月或以年计算,而web应用的周期以天计算甚至以小时计算。web测试人员必须处理更短的周期,测试人员和测试管理人员面临着从测试传统的c/s结构和框架环境到测试快速改变的web应用系统的转变。
一、功能测试
1、链接测试
链接是web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的url地址才能访问。
链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说,在整个web应用系统的所有页面开发完成之后进行链接测试。
2、表单测试
当用户给web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
3、cookies测试
cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用cookies访问了某一个应用系统时,web服务器将发送关于用户的信息,把该信息以cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。
如果web应用系统使用了cookies,就必须检查cookies是否能正常工作。测试的内容可包括cookies是否起作用,是否按预定的时间进行保存,刷新对cookies有什么影响等。
4、设计语言测试
web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的html等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了html的版本问题外,不同的脚本语言,例如Java、JavaScript、activex、vbscript或perl等也要进行验证。
5、数据库测试
在web应用技术中,数据库起着重要的作用,数据库为web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在web应用中,最常用的数据库类型是关系型数据库,可以使用sql对信息进行处理。
在使用了数据库的web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。,l/u,H*wjY-gM8-[此文转贴于我的学习网计算机网络技术
二、性能测试
1、连接速度测试
用户连接到web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。
另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
2、负载测试
负载测试是为了测量web系统在某一负载级别上的性能,以保证web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问web系统的用户数量,也可以是在线数据处理的数量。例如:web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?web应用系统能否处理大量用户对同一个页面的请求?
3、压力测试
引言
随着嵌入式系统硬件体系结构的变化,嵌入式系统的发展趋势向嵌入式系统高端,即嵌入式软件系统转移,具体体现在嵌入式操作系统趋于多样和应用软件日渐复杂。由于嵌入式系统软硬件功能界限模糊,研究如何进行系统测试和进行质量评估来保证嵌入式系统的产品质量具有重要意义。
首先,这里明确嵌入式系统的系统测试定义,是将开发的软件系统(包括嵌入式操作系统和嵌入式应用软件)、硬件系统和其它相关因素(如人员的操作、数据的获取等)综合起来,对整个产品进行的全面测试。嵌入式系统的系统测试比PC系统软件测试要困难得多,主要体现如下:
①测试软件功能依赖不需编码的硬件功能,快速定位软硬件错误困难;
②强壮性测试、可知性测试很难编码实现;
③交叉测试平台的测试用例、测试结果上载困难;
④基于消息系统测试的复杂性,包括线程、任务、子系统之间的交互,并发、容错和对时间的要求;
⑤性能测试、确定性能瓶颈困难;
⑥实施测试自动化技术困难。
1 测试方法
根据Goodenough和Gerhart提出的软件测试充分性准则可知,软件测试具有非复合性的特点,也就是说,即使以软件所有成分都进行了充分的测试,也并不意味着整个软件的测试已经充分。所以,即使通过了需求测试、设计测试、编码测试,并不意味着已经完全了充分的测试,还要进行软硬件全面测试,即系统测试。正确的系统测试方法能设计出良好的测试事例,而良好的测试事例是测试成功的关键。测试事例质量特性主要有以下几点。
*检验性:检测软件缺陷的有效性,是否能发现缺陷或至少可能发现缺陷。
*可仿效性:可以支持测试多项内容,减少测试事例的数量。
*开销:测试事例的执行、分析和调试是否经济。
*修改性:每次软件修改后对测试事例的维护成本。
测试方法不仅要保证测试事例具有发现缺陷的高可移植性,而且还要保证测试事例设计的经济有效。因此,在实际测试工作中,将嵌入式系统的测试方法分类如下:根据测试是否动态运行被测程序分为静态测试方法和动态测试方法;根据测试阶段分为需求测试方法、设计测试方法、编码测试(单元测试、集成测试)方法及系统测试方法;根据测试目的分为功能测试、性能测试、可靠性测试(容错性、可恢复性、成熟度测试*及信息安全保护等测试。参看表1嵌入式软件测试方法对照。其中“√”代表相关性。所有这些方法的具体定义这里不一一介绍。由于不同的嵌入式系统面向的应用不同,测试方法的侧重也很不相同。本文后面将对一个具体的便携式信息处理嵌入式系统(PDA、便携式翰林电子书)的系统测试方法详细说明。
表1 嵌入式软件测试方法及阶段对照表
测试方法分类
需求测试设计测试编码测试系统测试静态测试方式;基本思想Yourdon的结构化走通结构化审阅√√ √Fagan检查测试检查并评估√√ √动态测试方法;基本思想控制流测试语句测试 √√ 路径测试
√ 条件测试
√ 数据流测试数据定义引用
√√分域测试划分子域测试√√ √功能测试划分功能测试
√√随机测试不限定范围
√2 可靠性评估
可靠性是嵌入式系统最重要的质量指标。ISO9000国示质量标准(ISO/IEC 9126-1991)规定,软件产品的可靠性含义是:在规定的一段时间和条件下,软件能维持其性能水平的能力有关的一组属性,可用成熟性、容错性、易恢复性三个基本子特性来度量。根据我们在评估嵌入式系统中的成功经验,一般采取以下简单有效的评估方法(可以采用百分制或十分制)。
(1)成熟性度量
①错误发现率DDP(Defect Detection Percentage)。在测试中查找出来的错误越多,实际应用中出错的机会就越小,软件也就越成熟。
DDP=测试发现的错误数量/已知的全部错误数量
已知的全部错误数量是测试已发现的错误数量加上可能会发现的错误数量之和。
②测试覆盖率度量。测试的覆盖率,可以用测试项目的数量和内容进行度量。除此之外,如果测试软件的数量较大,还要考虑数据量。测试的覆盖率,可以根据表2所示在测试指标进行评价。通过检查这些指标达到的程度,就可以度量出测试内容的覆盖程度。
表2 测试覆盖程度表
测试覆盖项测试覆盖率指标测试描述测试结果界面覆盖符合需求(所有界面图标、信息区、状态区) 静态功能覆盖功能满足需求 动态功能覆盖所有功能的转换功能正确 正常测试覆盖所有硬件软件正常时处理 异常测试覆盖硬件或软件异常时处理(不允许的操作)测试结束判断表3 可信度测试表
测试功能甲乙丙丁平均最大值-最小值功能1
功能2
功能3
功能4
功能5
注意,对于最大值与最小值的差值超过5的情况,应该重新测试响应功能。
(2)容错性评估
容错性评估分为控制容错性评估、数据容错性评估、硬件故障恢复容错性评估:
容错性=以下各条款评分之和÷条款数
控制容错性度量
①对并发处理的控制能力;
②错误的可修正性和处理可继续进行能力。
数据容错性度量
①非法输入数据的容错;
②对相互冲突的要求和非法组合容错;
③输出数据是否合理容错。
硬件故障中恢复容错性度量
故障后恢复能力容错。
(3)易恢复性度量
与易恢复性紧密相关的测试是强度测试和健壮测试。强度测试又称为力度测或极限测试,主要测试系统对空间强度和时间强度的容忍极限;健壮测试又称异常测试,是很重要的可靠性测试项目。通过易恢复性测试,一方面使系统具有异常情况的抵抗能力,另一方面使系统测试质量可控制。
易恢复性=以下各条款评分之和÷条款数
①空间强度可恢复;
②时间强度可恢复;
③数据强度可恢复;
④异常通信可恢复;
⑤数据破坏可恢复;
⑥电池极限可恢复。
(4)测试可信度评估
测试可信度是对测试质量的有效评估,是保证质量的必要步骤。目前虽然很难有量化的指标,但我们采取积分的方式显示可信度。例如,请4个人员(甲、乙、丙、丁)对系统5个功能打一个从0(不信任)到10(完全信任)之间的分数,那么,可信度度量可以用表3进行计算。
3 测试实例
(1)电流测试
电流测试是嵌入式系统的系统测试中首先要进行的重要测试,也是最容易被忽视的测试。主要是测试系统的工作电流、待机电流。人们一般把它当成与系统测试无关的硬件测试。但是对于嵌入式系统,软件与硬件不可能清晰地划分,硬件的性能直接影响软件的运行。实例1说明了电流测试对系统运行的影响及不可替代的作用。
测试现象描述:进行同一厂商PDA系统测试,有几台PDA在名片子系统、行程子程序的操作过程中随机死机。
我们当时的错误分析定位是:①怀疑操作系统中断处理错误;②怀疑内存泄漏,堆栈溢出;③怀疑应用程序错误。
在软件开发人员为解决这个问题检查软件时,硬件开发人员提出应首先测试一下这几台机器的工作电流。结果发现,PDA的工作电流低于正常工作电流。加电容调整后随机死机问题消失。
由此例还可以看出,嵌入式系统测试的软硬件测试不可分性。绝对的将硬件测试和软件测试区分开来的测试思想是不正确的。我们在系统测试时的电流测试设计如表4。
表4 电流测试
测试电流项目测试结果(不同的产品对电流要求不同)备 注预期值实测值待机电流/mA
关机后电流测试启动电流/mA
开机瞬间电流测试工作电流/mA
正常工作电流测试(2)兼容性测试
考虑到嵌放式系统软硬件的开发成本高于通用PC系统,因此,提高软件对硬件的兼容及软件升级版本的兼容性极为重要。表5是便携林翰林电子书升级版本兼容性测试实例。
表5 兼容性测试
兼容性测试分类
硬件兼容性操作系统兼容性应用软件兼容性PC制书软件兼容性BIOS兼容测试
BIOSV1.0
BIOSV2.0
操作系统兼容测试
VOLF V.1.0
VOLF V.2.0
应用软件兼容测试
READER V.1.0
READER V.2.0
PC制书软件兼容测试
PCREADRE V1.
PCREADER V2.
实例2:现在的嵌入式系统的层次结构一般分为硬件层、BIOS层、操作系统层、应用系统层。有的还需要通用PC应用软件支持。因此,嵌入式系统的兼容性测试要考虑硬件兼容性、BIOS兼容性、操作系统兼容性,还需考虑与相应PC应用软件的兼容性。
关键词:青岛地铁;AFC系统标准规范;标准符合性验证;测试平台;线网化建设
中图分类号:U231 文献标识码:A
一、AFC系统测试平台建设的必要性
新线正式开通前的验证测试是未来线网化建设中新线接入并网运行必不可少的工作之一,该测试主要包括功能测试、性能测试及接口测试等内容。
目前,大多数城市并未建设正式的AFC系统测试平台,每当旧线进行改造升级或新线即将投入运营时,通常利用维修培训中心的设备对即将上线的AFC系统进行反复测试,以验证期可靠性、准确性、安全性等各项指标。该方式只能实现线路内部的一些基本测试功能,相对简单,无法完整模拟AFC系统五层架构。
青岛建立一套相对完整的AFC系统检测体系,能够在AFC系统工程的各个阶段,对模块、设备和系统等进行检测与调试,有利于提高AFC系统的技术水平、建设效率和运营质量,促进AFC系统技术的公平竞争和有序发展是非常有必要的。
二、AFC系统测试平台一期实施方案
1青岛地铁AFC系统建设概况
伴随着青岛地铁M3线、M2线、R1线的陆续开工建设,以及后续其它线路的规划实施,青岛地铁将逐步形成互联互通、多线路交叉换乘的线网化建设新局面。青岛地铁第一条线路M3线AFC系统建设,分为两个标段,ACC系统(含标准编制、票卡采购)为一个标段,M3线AFC系统为一个标段。两个标段均采用设备采购、集成、安装为一体的总包方式进行招标。青岛地铁秉持标准建设先行原则,在第一条线路建设时将标准化建设纳入ACC集成采购标段,由ACC系统集成商主编,并负责AFC系统标准的贯标、修订、验证及完善工作,同时为体现AFC系统标准规范的通用性和公正性,线路AFC系统集成商及设计院等单位作为参编单位积极配合。业主负责统一组织对标准问题所产生的争端进行裁决。
2 AFC系统测试平台一期实施方案
测试平台既指物理上的场地测试环境,又指待测AFC系统或设备的运行环境,能完全模拟从清分系统到线路中央计算机系统,再到车站计算机系统及终端设备的运行环境。测试时将待测设备接入到该测试环境,配置到所在层进行测试。
青岛地铁在轨道交通线网建设初期,受到技术条件、人员经验、投资等制约,将分别部署在控制中心和车辆段两处的ACC模拟测试系统和线路AFC模拟测试系统进行整合,两个测试系统间通过通信传输通道进行连接,组成一个典型的AFC五层架构体系,主要包括1个清分中心系统、1个线路中央计算机系统、2个车站计算机系统及2套各型车站终端设备。使用与运营系统相同的的操作系统、数据库、AFC系统设备,测试工作站安装仿真系统及其它测试工具。在测试任务中可在仿真系统、实际测试系统和生产系统中灵活切换,构成一套完整的AFC系统测试环境。整个平台运行环境架构如图1所示。
2.1测试依据
测试依据是进行测试的必要条件,它通常是产品的技术规格书、用户需求书等。对于AFC这类专用系统,在满足本系统通用技术标准或规范的基础上,需符合用户需求,即响应招标合同文件里的技术要求条款。
目前,针对轨道交通AFC系统,国家已经出台了GB 50381-2010《城市轨道交通自动售检票系统工程质量验收规范》和GB/T 20907-2007《城市轨道交通自动售检票系统技术条件》。这些均可最为测试依据。同时,青岛地铁已经制定了自己的企业标准《青岛市轨道交通自动售检票系统标准规范》,在系统界面、设备功能要求、性能指标等方面形成了标准化要求。这不仅是产品的衡量标准,更是测试工程设计的有效依据。
2.2 AFC系统测试平台功能
该模拟测试平台可用于:
(1)系统开发
提供二次开发所需的硬件、软件开发环境,为系统(包括接口等)的开发、维护创造条件。每当AFC系统应用软件版本更新、升级时,均需要在测试平台上进行系统功能、性能等各方面测试后,方可正式上线应用,以确保应用软件在修改后具有良好的稳定性、可靠性。
(2)系统测试
测试平台系统与运营系统、异地数据备份系统有网络连接,可从运营系统、异地数据备份系统获得真实的运营数据,用于系统的测试调试。测试平台系统配有测试用的系统仿真软件,可生成大量的模拟交易数据,用于系统的功能测试和性能测试。
(3)生产系统的接入测试
新线AFC系统通过仿真测试及模拟环境系统测试后,调整网络配置可快速的接入清分生产系统,与已开通线路进行全路网兼容性测试,确保新线的顺利开通。
(4)票卡测试
票卡测试设备通过数据接口控制读写器的相关操作,检验读写器相关功能及各类票卡的操作速度,验证被测设备是否符合AFC系统标准规范定义的功能及性能要求。
2.3 AFC系统测试知识库
对测试过程中的测试需求和测试用例进行整理,形成测试需求和测试用例知识库。通过测试过程管理,更新、完善、充实知识库,并加入问题跟踪等内容。建立测试知识库有利于对测试经验的整理和积累、提高,将以前松散的无结构的积累变成严谨的、有结构的、系统数据方式的积累。
建立青岛地铁AFC系统软硬件知识库,至少包括设备品牌、部件品牌、操作系统及其版本、应用程序及其版本等。有利于网络化设备的兼容性、一致性和维护保养及其备品备件的本地化。
三、青岛地铁AFC系统测试平台二期建设规划
为了《青岛市轨道交通自动售检票系统标准规范》的贯彻、验证等目的,目前,青岛地铁解决方式是在第一条线路AFC系统建设的同时,对分别在控制中心和车辆段的一套摸拟测试系统进行整合,这些系统的造价均包含在该条线路AFC系统的总造价中。该方案仅为线网建设初期的一种过渡方案,每条新线建设时均在车辆段建立一套摸拟测试系统会造成相当的浪费,不符合集约化建设的要求。
青岛地铁在AFC系统一期测试平台及《青岛市轨道交通自动售检票系统标准规范》基础上,将考虑在线网达到一定规模,并且人员、经验、技术等方面有充足储备后,单独招标,在一个专门的物理位置建设青岛地铁AFC系统二期测试平台,并充分考虑青岛地铁规划建设的19条线路终端设备的容纳空间,可完整实现AFC系统检测业务、标准宣贯、技术培训、AFC技术研发等一系列功能。
二期平台可以用技术手段严格地验证各个系统集成商和供货商的AFC设备是否符合《青岛市轨道交通自动售检票系统标准规范》的要求、定义。其功能、性能指标等通过测试的AFC系统(ACC、LCC、SC)和设备(E/S、TVM、BOM、GATE、TCM等),可以发放设备的AFC网络准入证。只有拥有准入证的设备才能安装在青岛地铁AFC线网内运行。另一方面,也可提供测试过程管理功能和大量的测试需求、测试用例等知识库,可用于规范测试过程的进行,提高测试质量和工作效率。
另外,有利于保证分期投入设备的兼容性,有利于有效降低人员培训费用、降低备品备件种类和数量,有利于引入设备厂商间的竞争机制,降低设备采购费用。从而能为青岛地铁AFC系统的建设、运维、管理带来现代化的手段,进而极大地提高AFC系统建设的质量并降低建设管理成本。
结语
目前,国内各地城市轨道交通建设方兴未艾,对AFC系统测试平台的关注度也越来越高。AFC系统作为与乘客直接接触的系统,直接关系到乘客在地铁用的用户体验,是地铁服务的展示窗口,越来越受到重视。另外,各地都制定了自己的标准规范,为实现全线网的互联互通、一票换乘等功能在网络化建设中分期建设的各条线路AFC系统,都有进行线路接入测试、标准符合性验证,同时手机移动支付、金融IC卡小额支付等新技术在AFC系统中也逐步得到应用,这些都要经过严格的测试验证后才能正式应用,因此对AFC系统测试能力提出了更高的需求。
本文通过分析新兴城市轨道交通线网建设不同阶段,AFC系统测试平台建设需求,给出一些AFC系统建设过程中的建议,为轨道交通建设管理工作提供一些参考。
参考文献
[1] GB 50381-2010 城市轨道交通自动售检票系统工程质量验收规范 [S].北京:中国计划出版社,2010:46-54.
[2] GB/T 20907―2007 城市轨道交通自动售检票系统技术条件[S].北京: 中华人民共和国质量监督检验检疫总局,中国国家标准管理委员会,2007.
[3] 青岛地铁集团有限公司.青岛市轨道交通自动售检票系统标准规范 [S].青岛,2012.
[4] 李昱见,管宏.新建轨道交通第二条线路AFC系统并网的关键问题[J] .中国铁路,2013:76-80.
[5] 徐晔.自动售检票系统由单线路向网络化迁移的实现[J].都市快轨交通,2013,26(3) :116-118.
[6] 吕毅.西安地铁AFC系统线网化建设[J].都市快轨交通,2013,26(1) :107-110.
关键词:构件化;软件开发;过程;开发实例;系统测试技术;构件测试方法;问题
中图分类号:TP311文献标识码:A文章编号:1007-9599 (2012) 03-0000-02
Component-based Software Development and System Testing TechnologyExploration
Ye Wei
(Ningbo Dahongying University,Ningbo315175,China)
Abstract:Along with the social demand for software continues to increase,as well as the difficulty and cost of software development increase,the technology of component-based software development and system testing is more extensive,component-based software development process to explore,while the use a development instance,the last component-based software system testing and component testing methods,
and come to the problems in the testing techniques.
Keywords:Component-based;Software development;Process;Development instance;System testing technology;Component test methods;Problem
近年来由于软件系统困难度及复杂性不断加大,以及不断增加的软件开发规模,同时软件开发机构不仅对开发软件的成本有了日益增高的要求,还对开发周期提出更多要求。当软件开发面向对象分析以及设计方法以后,构件化的软件开发形式已变为新发展趋势。把外部开发的构件集成至实际具体应用中,进而面向固定应用的软件系统得以合理构建,对软件集成以及重用产生相当重要的影响,其已变为目前软件研究领域的热点以及主流技术。另外在构件应用前进行相关测试,也被实践证明了其正确性。
一、构件化软件开发过程分析
对于基于构件的开发,其指开发软件系统的时候,把这个过程视为基于体系结构指导,合理运用构件组装形式,进行软件系统开发的一种软件开发方法。下述的四个阶段构成了构件化软件开发过程。
第一个阶段就是进行问题域分析与建模的阶段。针对具体的问题情形,合理实施分析以及建模,与此同时,能够利用合适的UML模型进行表示说明。
第二个阶段就是求解域模型设计阶段。针对问题域,合理实施分析建模,随后得到求解域模型,就是系统需要的构件以及系统的体系结构。针对那些可以进行复用的构件,对其接口进行合理分析,然后确认是否应该进行扩展,要是增加一些新的构件,进行恰当的分析设计,进而保证构件可以达到求解域的需求。还要尽可能地保证构件有着可复用性。
第三个阶段就是构件的开发及组装阶段。在构件库内,进行可以达到需求构件的选用,并对其接口进行扩展,使之于目前工程相适应;针对新研发出来的软件构件,可以把它储存到构件库内,保证日后的方便复制使用,还应把它运用到目前的工程里[1]。组装完成后,完整的系统便得出,进行测试合格之后,就能够运行。
最后阶段就是应用系统的演化阶段。针对构件的应用系统的演化,换句话说就是构件的替换、升级以及扩充的过程,按照具体的运行效果,同时根据用户的实际要求,合理调整软件,以保证期对新的环境的适应性。
二、开发实例分析
当进行某个系统开发的时候,积极采用构件复用技术,进而确保权限配置管理功能的实现。通过合理的分析,对于系统的权限管理,“用户-角色-功能”方式得以确定,其为基于角色的访问控制模式,对已有构件的复用可以确保此功能的合理实现。
角色管理以及用户管理构件、角色节点配置构件、节点管理构件及用户角色配置构件,这五个构件都存在于构件库中,其中角色管理构件对系统制定的角色进行维护,与此同时就角色的名称以及描述等信息进行合理管理;用户管理构件则是对一个系统用户信息进行管理的,主要由登陆名、登陆密码构成的;对于角色节点配置构件,其重点应用在进行节点与角色之间对应关系的配置,保证一个角色能够显示几个功能节点的制定,进而间接的对某个角色具有的功能进行合理限定;节点管理构件主要作用在管理系统功能树上的节点中;用户角色配置构件则用于用户和角色对应关系的配置。以上五个构件不是单独运行的,而是相互合作的,正是由于它们的互相合作才使系统中权限管理的相关功能得以实现。
三、构件化软件系统测试技术研究
由于构件自身具有的特点,实施测试人员主要由构件的开发方以及构件的使用方来组成的,由于他们在测试中占据不同的立场,在实施测试的内容方面多少会存在一定的差异性:一是测试目的是不相同的,构件的开发方对构件的所有功能进行测试,构件使用方则更多的关心与其有关部分的功能。二是使用的环境存在差异性;三是具有的资源存在差异性,对于构件开发方,其对构件源代码有着一定拥有权,但是对于构件的使用方,只具有构件的可执行代码;于是,当对构件软件进行实施测试时,要分别站在构件的开发方以及构件使用方等两个角度上展开[2]。基于构件的使用方角度,测试方法是通过测试构件类型进而得出,具有两种主要类型的构件:首先源代码不确定,只给予使用方测试的信息当作所提供服务的COTS构件;另外一种是源代码具有可访问性的构件。当构件类型不同时,对测试方法的选用也是不同的。
(一)对构件测试方法的分析
目前,对构件的测试主要是通过以下几个方法:
1.基于构件使用规范说明的测试。以下方法都与构件开发方有着一定联系,本方法按照构件运用方就应用环境与规范给予的数据当作测试用例,只局限于黑盒测试中来使用。
2.内置测试。对于构件开发方,他们把有着可执行性的测试用例内置于构件内,同时当作构件的常用功能,在构件集成于实际应用环境的情况下,对其中测试用例进行运行,进而进行集成测试;
3.元数据。针对在集成测试的时候,构件信息缺乏等一些问题,构件开发方将关于构件的基本信息通过元数据这一合理形式,给予构件测试或者使用方,确保测试顺利地实施,提升构件的可测试性是它的核心内容;
4.可测试体系结构。由构件开发方会提供与构件相配套的可测试体系,这样构件使用方在实施测试的情况下,能对测试用例进行直接执行,和上述各个方法相比,不同的是,该测试信息通过规范的形式附加于构件之上,当运行的时候,没有占用内存[3]。
5.证明策略。一般情况下,由于构件证明不同的承担方,构件证明主要包括以下几类:首先是构件使用方构件证明,其次是第三方构件证明,最后为构件开发方构件证明。
(二)构件测试技术中存在的一些主要问题
对于构件集成测试,很难对其实施,主要有两方面的原因:异构性的存在以及相关信息的缺少。针对异构性,其表现为:同一个构件处于相同规范下,具有不相同的实现方法;不相同的构件能使用不同平台的不同程序语言进行实现;由于构件使用方与开发方两方很少进行交换信息,便导致了信息缺乏,构件开发方主要对开发构件的应用环境没有足够了解,所以,它进行的构件测试只可以面对假设的应用环境,但是实际环境和假设的环境之间一定具有差别,在实际的应用中,各个构件在动态交互过程中可能会出现数据交换不能有效兼容等问题。从另一方面,构件的源代码因为相对构件运用方法有着某些未知性,于是,对其实施静态分析是很难进行的。更别说对相关数据依赖以及控制依赖关系的获得,进行有关测试用例的构造,进行测试,确认出进行测试需要的充分性准则是很难的。所以,在构件测试技术中,应该考虑以下几个问题:
1.怎样利用系统方法对测试驱动程序与插针进行构建。对于构件测试驱动程序,其一定是基于脚本的程序,同时仅仅对其黑盒功能进行执行。主要有基于场景以及规范的测试驱动程序;各个测试探针进行构件行为或者黑盒功能的合理模拟,在当前,还是主要通过基于操作脚本以及基于模型的方法。
2.怎样合理构造出可重用的构件。就是开发系统方法以及工具安装可重用的测试程序,进而进行各种测试资源的存储及管理,主要有测试脚本、测试用例以及数据[4]。在当今,两个方向较为突出,一个为于构件内部中进行构件测试的创建,内置测试就是实例;另外方向是使用可直接插拔技术进行一套测试程序的创建,不仅牵涉了测试访问接口以及标准化测试信息格式,还牵涉到测试数据库模式与定义以及开发新的可插拔技术支持构件单元测试。
3.怎样正确进行可重用及通用的构件测试平台的构建。在一般情况下,测试检索以及执行、测试结果检查以及报告组成了测试执行环境。此测试平台可以根据不同语言及不同技术开发实现的构件是它的主要问题。
4.怎样合理进行可测试构件的构建。其牵涉到三个问题,就是定义及设计可测构件的测试接口与公共结构、开发系统方法进行可测构件的构建、最小化系统资源及开销。
四、总结
由于社会对软件的需求一直增加,软件复杂度及规模一直加大,因此,人们就不断探索创新软件开发技术,进而满足软件发展的需要。对于构件技术,其要经过创建及复用构件,还要通过组装构件保证软件系统开发的完成,能使系统的开发效率提高,系统的开发成本还减少,进而达到软件复用的要求。于是,构件化的软件开发方法能够作为一种有效途径,使软件危机得以解决。与此同时,更要引起构件测试技术中的一些主要问题。
参考文献:
[1]梅宏,杨芙清.构件化软件设计与实现[M].北京:清华大学出版社,2008
[2]许帧.基于构件的软件开发方法及实现[J].软件导刊,2009,11:17-19
1 简介
1.1 范围
测试用例的执行覆盖高原夏菜无公害胡萝卜栽培管理专家系统、日光温室黄瓜无公害栽培管理专家系统、特色产业决策系统(绵花产业)、特色产业决策系统(绵花羊产业)等。
系统测试自2011年9月7日起对系统的功能及业务流程、界面风格、安全访问控制等进行了黑盒测试,对系统的用户使用数、页面性能要求进行了相应的性能测试。
1.2 定义、首字母缩写词和缩略语
EXP 为特色产业专家系统与决策支持系统的英文简写。
1.3 概述
本测试评估从功能测试和性能测试的两个角度来对我省特色产业专家系统与决策支持系统进行评估。内容主要包括:基于需求的测试覆盖、建议的措施以及相关的测试结果图示说明。
2 测试设备
PC1:硬件 CPU:PIV 1.50G,内存:512M硬盘:40G,软件:Winserver 2003/IE8.0;
PC2:硬件 CPU:PIV 2G,内存:2G硬盘:300 G,软件Winxpsp2 Winserver 2003/IE8.0。
3 测试环境
3.1 硬件配置
Web服务器硬件配置:TOMCAT服务器,CPU:PIV2.80,内存:1 G;硬盘:300 G;网卡:10/100 M自适应。
数据库服务器硬件配置:PC台式机,CPU:P43G,内存:1 G;硬盘:300 G;网卡:10/100 M自适应。
3.2 软件配置
服务器软件配置:开发工具:IBMWSAD5.0;JDK环境:j2se1.5或更高;
系统环境:Windows 2000/XP/2003;
Web服务器:Apache 2.4+tomcat6.0
数据库系统:SERVER 2008。
3.3 测试方法
以黑盒测试为主,测试的重点集中在业务流程、数据提取和各功能模块间的接口。其中单元测试由开发人员直接完成;功能模块采用黑盒测试的常用方法;集成测试模块采用非渐增式测试,偏重系统的接口和数据提取方面;系统测试主要体现在业务流程的测试,主要采用回归测试。包括数据测试、功能测试、用户界面测试、性能评测、安全性和访问控制测试。
4 测试覆盖分析
需求覆盖率是指经过测试的需求/功能和系统分析中所有需求/功能的比值,通常情况下要至少达到99 %的目标。
被验证通过的需求26个,需求总数26个。
需求覆盖率=通过验证的需求/需求总数=26/(26)×100 %=100 %(详见表1)。
4.1 缺陷收敛曲线图
4.2 缺陷生命周期图
从缺陷生存周期来分析:整个缺陷数占比最多的是生存周期在1周的缺陷,总共161个,约占总数的75.23 %,说明开发组对缺陷的响应时间相对较快,能在较短的时间内对bug进行修复。
5 测试结论
5.1 安全性 做了用户登录安全访问控制测试,即各种条件下的用户登录测试,系统安全性高。
关键词:操作系统测试;缺陷处理流程;缺陷接受方案
一、序论:缺陷的生命周期
操作系统测试是操作系统开发项目中的重要组成部分,是通过人工或自动的方法,来确认一个操作系统的质量或性能是否符合开发之前所提出的要求。在操作系统开发项目中,测试属于项目质量管理的角色。而无论在操作系统测试还是其他普通软件测试项目中,缺陷(bug)管理都是测试项目的重中之重。
本文将简要介绍操作系统测试项目中的bug生命周期、bug处理的一般流程、bug等级划分,以及在不同情况(是否需要兼容多家厂商的硬件平台及板卡)下,bug的接受方案的选择及处理的建议。
首先,我们需要简要介绍一下bug的生命周期。bug的产生到消失,存在一个生命周期。每个操作系统厂商或者测试项目小组对bug的生命周期划分不尽相同。但在业界一般会把bug的生命周期大致分为以下几个状态:
1.提交
当测试工程师发现新bug,并提交到bug管理系统中时,该bug的状态标记为new。提交时应注明其详细信息,并根据规定对此bug标记严重程度。此时,该bug的生命周期正式开始。
2.接受
项目经理接收到这个bug后,首先要判断这个问题是否是bug。
如果是bug,则接受该bug,此时,其状态应由项目经理标记为open。在这个阶段,项目经理应协调开发人员,分配软硬件及时间资源,并由开发人员来修复这个bug。直到开发工程师完成修复(fixed)或拒绝修复(rejected)为止。
3.拒绝处理(Rejected)
开发人员认为该问题不是Bug、现象描述不清、与现有bug重复、不能复现,或可忽略不计,从而拒绝处理该问题。则将这个bug标记为rejected,并通知测试工程师,之后由项目经理关闭(closed)。
4.修复(Fixed)
开发工程师在修复完该bug后,该bug即进入fixed状态(由开发工程师标记,后转入retest阶段。
5.重新测试(Retest)
在开发工程师修复该问题后,测试工程师需要重新测试。确认是否完成修复,并检查是否有新问题出现。测试成功,则转入新版本测试阶段(new build retest);否则,转入重新开启(reopen)阶段。
6.新版本测试(New build retest)
该操作系统产品在新的内部版本时,重新测试该bug。检查问题是否重现。该状态应由测试工程师标记。若未重现,则转入关闭(closed)状态;否则转入(reopen)状态。
7.重新开启(Reopen)
测试工程师对修复后的问题进行验证,若不通过,或者又因此重新出现新的错误,则bug的状态应该由测试工程师标记为reopen。并交由开发工程师重新修复。
8.关闭(Closed)
所有测试流程通过,则应由项目经理将bug状态标记为closed,并对此操作负责。
根据项目及bug的实际情况不同,测试项目经理对本公司的产品的bug生命周期划分可能略有不同。在上面介绍的生命周期中,new build retest状态就有很多公司没有采用。但笔者仍认为该步骤是必要的。因为在新的内部版本后,重新检测已知bug会对产品的稳定性提供相应保障。
二、缺陷处理流程分析
根据bug生命周期,我们可以采用以下流程来提交、接收、处理、关闭bug:
(1)测试工程师发现新bug,并提交到相应的bug管理系统中。
(2)项目经理确认。并指派相应的研发工程师进行修复。
(3)研发工程师判断是否需要修复该bug。若需修复,则修复后将修复结果转交给测试工程师重新测试;若拒绝修复,则说明理由,并请项目经理关闭该bug。
(4)测试工程师核实该修复结果。若通过核实,则在操作系统的新版本后,再次测试;若不通过,则将该bug回退给开发工程师重新修复。
(5)在操作系统的新版本中测试该bug后,若测试成功,则关闭该bug。若失败,仍然回退给开发工程师重新修复。
在上述的流程中,我们可以看到,被bug接受(open)后,项目经理会指定相应的工程师来完成修复。这是在操作系统只运行在本公司所生产的硬件平台上的情况下,通常所采取的bug处理流程。此时,项目的复杂程度较低,各方面资源的协调相对容易。项目经理可以独自分析并定位该问题出现的原因,同时协调相应的部门及工程师来对bug进行修复。即使bug现象模糊,不能准确判断,也能比较方便地通过协调各研发部门的资源来共同定位。
而如果该操作系统需要与其他厂商的硬件平台兼容,则需要判断该bug究竟是操作系统本身的问题,还是与合作厂商的硬件平台的兼容性问题,或者只是硬件平台本身的问题。此时,测试项目组作为第三方质量管理角色,对bug的处理流程就需要相对复杂一些。可以通过增加部分流程,来对bug进行处理:
(1)在bug的open状态下,项目经理确认是硬件问题还是操作系统问题。若合作厂商的问题,则在其相应的bug管理系统中提交并登记。
【关键词】网络 布线系统 缆线 检验 设备
众所周知对于计算机网络较为广泛的说法是:通过通信线路将地域上分布的、拥有独立功能的计算机系统和网络设备按一定的规定连接在一起,成为功能较完备的应用软件和通用协议,进而实现共享资源和传递信息的系统。同时也是计算机技术与通信技术相结合的产物,为了使网络实现信息交换和资源共享,要对布线系统进行测试和验收,事实上其贯穿整个工程的始终,因为可以及时发现构建网络过程中存在的质量问题,减少通信线路潜在的隐患,此过程是确保网络工程质量的关键,下面我就逐一进行讲解与说明。
1 布线环境的检查
在对工程实施之前,应该对专用交接间、设备安装间以及工作区基础建筑和现有环境状况进行排查,达到要求条件才能动工:
基础工程是否已全部竣工,室内墙壁要充分干燥,地面平整干净,房门设备齐全。
房间预制地上坑槽、各种暗管、墙体孔洞和通体竖井设计位置、预留数量、相关尺寸应该达到要求规格。
设备间是否接入电源,针对安装活动地板的房间,必须实施全面检查,每平米水平误差应不大于2mm,做好防静电处理且接地达到工程需求。
设备安装间、交接间等应安装带接地保护的220V单相预留电源插孔。安装位置、使用面积、光线照明、房顶高度、通风状况、防水火处理及周边温、湿度等应充分考虑。
预留好交接间垂直通道电缆孔孔洞,并应检查水平通道管道、电缆桥架和环境条件状况。
施工器材及测试工具检查。
2 相关器材、管制品与金属套件的检测应遵照下列要求
(1)所用材料的型号尺码、规格限定、材质构成应满足工程设计的需要,器材表面需光滑且平整,无明显破损、断裂、变形。预制各种线槽、穿线盒、接线盒及桥架等表面涂层或镀层也需均匀、平整,无走形、破损。
(2)所需管材采用金属制品或塑胶制品时,其通体管件应完好、无损坏,管孔无明显变形,孔径直径、管壁厚度应遵循设计要求。如果我们用金属管槽应按照工程环境需要做好防止腐蚀处理。塑胶制管槽必须采用阻燃材质且附有阻燃标识。
(3)对于室外相关管道必须依照工程质量验收的标准进行检测,并进行防火、防水以及防腐蚀处理。
(4)金属件无变形、明显弯曲、细小毛刺、重创开裂或坏损等。外表面及镀层应均匀、细滑,无脱皮、无渣泡等。
工程缆线的检测应遵照下列要求:
(1)工程所需的各种缆线型号尺码、材质构成、规格限定、防火级别应满足设计需求。
(2)缆线上面标签、标识内容必须明确、清楚,且包装应注明出厂日期、型号、长度等。
(3)所用缆线应配备本次批量的反应电气性能的检验报告,施工前需进行数据链路或信道传输的电气性能检测,缆线长度的抽检也是必须的。
(4)检查光缆合格证书及检验数据,必要时应进行衰减测试与长度测试。
3 工程设备安装检验
机柜、机架安装位置应符合具体设计要求,垂直偏差度应不大于2.5毫米;各种零件不得损坏,漆面如有脱落及时补修,各种标志应清晰完整;设备的安装应牢固,达到一定抗震要求。
信息模块插座应设计在活动地板或水平地面上,需在接线盒内固定,插座面板可采用竖立形式,也可水平安装;但接线盒盖需具有开启功能,并做好抗潮、抗尘、抗压处理。固定螺丝需拧紧, 各种插座面板附有鲜明图形符号、中英文字等标识指示出所接设备终端类型。
电缆桥架及预制暗槽的设计左右偏差不超过45毫米,水平度每米偏差不超过1.5毫米;且应与地面保持垂直,线槽截断处及两线槽拼接处应平滑、无毛刺;采用悬空支撑柱布放缆线时,支撑点尽可能绕开地面沟槽或暗槽。
4 缆线的架设及日常维护检验
缆线的连接需自然伸直,不得出现交叉缠绕、接头交错等现象; 两端应贴有清晰标签,缆线应有余量以适应终接、检测和变更;缆线的弯曲半径不同的材质应符合相关规定。
架设线槽和暗管的两头需标识出厂日期、序列编号、范围尺度等项目;预制道槽宜采用坚固类金线槽,截面利用率不超过50%;暗管宜采用钢管或阻燃PVC管,布放多层传输介质。
施工中如果需缆线垂直架设时,最上端和间隔1.8米处需安全固定;而水平架设时,在缆线的始、末、转向处及间隔8米处需进行安全固定;光缆在桥架敞开敷设时应在绑扎固定段加装垫套。
5 工程保护措施
预埋金属线槽符合保护要求。
预埋暗管符合保护要求。
合理设置缆线桥架和线槽保护。
设计网络地板缆线敷设。
干线子系统缆线敷设保护方式应符合要求。
6 工程竣工验收材料
工程竣工后,施工方应在验收之前,将工程竣工相关资料交付建设方。详细材料必须包括如下文件:全部工程详细说明书;所用器材及设备明细表;施工设计图;相关测试记录;检查记录及双方协商记录;随工验收记录;隐蔽工程签证;工程决算。
参考文献
[1]林生.计算机网络与因特网[M].北京:机械工业出版社,2009(6).
[2]欧阳广.网络建设与施工[M].北京:中国劳动保障出版社,2003(4).
[3]孙建华.网络系统管理---Linux 实训篇[ M].北京:人民邮电出版社,2003(2).