《功能测试在村镇银行信贷系统软件中的应用论文.doc》由会员分享,可在线阅读,更多相关《功能测试在村镇银行信贷系统软件中的应用论文.doc(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、硕士学位论文测试管理在村镇行银信贷系统软件中的应用摘要目前,随着计算机技术的迅猛发展和网络的普与应用,银行业的竞争日益激烈。相比较从前,银行业务也有着极大的改变,除传统柜面业务外,更多地向通过网络和计算机的个性化自助业务方向发展。要在残酷的竞争中抢得先机,需要对市场快速响应,则不断地需要更新银行系统。快速更新与新产品的推出,使各家银行越来越重视新上线系统的质量和安全,从而不断地加大对自身系统的测试。随着软件产品在各个应用领域的普与,软件的质#量问题逐渐成为人们关#注的焦点,而功能测试是软件产品质量保证的最后屏障,很多应用程序由于进度的逼紧,而没有按照常规的质量保证那样实施。但最后的功能测试仍是
2、必须的。而功能测试也叫黑盒测试。村镇银行信贷系统软件测试将分为需求分析,按照测试计划的要求与需求进行测试用例的编写;然后执行测试。在测试过程中我们使用了Quality Center 测试管理工具对测试用例和测试进行监控,其中包括需求管理、测试管理、缺陷管理、功能测试和业务流程测试。本文结合企业实际的测试工作需求,阐述了村镇银行信贷系统软件测试测试方案,通过黑盒测试的方法和工具,在实际工作的应用中,提高了测试的工作效率,取得了良好的成绩。关键词:功能测试;黑盒测试;测试管理;QC42 / 51AbstractAt present, with the rapid development of co
3、mputer technology and the popularity of network applications, the competition in banking industry is increasing fiercely. In comparison with the past, banking also has made great changes, it becomes more personalized to through the network and computer self-help business direction beside the traditi
4、onal counter business.To force in the cruel competition, we need fast response to the market, also need to keep updating the banking system.Quick update and new product launching, make the Banks pay more and more attention to the quality and safety of the new online system, thereby increasing test o
5、f their systems.As software products got more and more popular in various application fields, software quality problems gradually become the focus of peoples attention.Function test is the last barrier of software product quality guarantee.Due to the force of project process, many applications were
6、not implemented according to the regular quality assurance. But the final function test is still necessary, and function test is also named as the Black box test.Village Banks credit system is divided into requirement analysis, software testing in accordance with the requirements of the test plan an
7、d needs the preparation of the test cases; and then execute the test.We used the QualityCenter test management tool in the process to monitor test cases and test, including the requirements management, test management, defect management, functional testing, and business process test.This article is
8、based on the demand of actual enterprise level testing work, conduct a research to Village Banks credit system software with Black box test methodology and tools. Worked in real practice, improved testing efficiency, and achieved good results.Key Words: Function test;Black box test;Test management;Q
9、C目录摘要iAbstractii第1章 绪论11.1 论文的研究背景11.2 论文的研究意义和目标21.3 国外研究现状21.4 论文组织结构31.5 本章小结4第2章 软件测试的概述和工具52.1 软件测试52.1.1 软件测试的定义52.1.2 软件测试的目的52.1.3 软件测试的原则62.2 软件测试的分类82.3 软件测试的流程92.4 功能测试122.4.1 功能测试概念122.4.2 功能测试目的132.5 测试管理与管理工具132.5.1 测#试管#理132.5.2 Quality Center简介142.6 本章小结15第3章 村镇银行信贷系统模块163.1 村镇银行信贷系统
10、概述163.2 村镇银行信贷系统业务需求163.3 客户管理模块163.3.1 评级授信模块173.3.2 担保管理模块173.3.3 贷后管理模块183.3.4 资产管理模块183.3.5 统计查询模块193.3.6 信贷业务管理模块193.3.7 村镇银行信贷业务流程203.4 村镇银行信贷系统测试需求203.4.1 系统测试概述203.4.2 系#统测#试策#略213.5 本章小结21第4章 Quality Center在信贷系统功能测试中的应用234.1 村镇银行信贷系统软件模块测试用例234.2 测试用例设计原则234.3 信贷系统软件模块测试用例设计流程254.4 村镇银行信贷系统
11、模块测试用例的需求分析编写264.5 村镇银行信贷系统用例设计274.5.1 测试用例设计274.5.2 QC的Test Plan对测试用例的管理274.6 测试用例的执行和管理314.6.1 村镇银行信贷系统功能测试执行条件314.6.2 测试用例运行管理334.7 村镇银行信#贷系统功能模块缺陷管理344.7.1 缺陷管理流程344.7.2 村镇银行信贷系统功能测试缺陷管理354.8 村镇银行信贷系统功能测试报表374.8.1 测试用例执行状态报表374.8.2 缺陷管理报表384.9 本章小结39第5章 总结和展望405.1 总结405.2 展望40参考文献42作者简历44致45图目录图
12、2. 1 软件测试V模型10图2. 2 软件测试W模型11图3. 1 村镇银行信贷系统结构16图3. 2 村镇银行信贷业务流程20图4. 1测试用例设计流程26图4. 2 信贷系统测试用例 Upload28图4. 3 QC的测试用例结成部分29图4. 4 村镇银行信贷系统的Text Plan30图4. 5测试进入准则的检查流程32图4. 6 测试用例执行流程图34图4. 7 Defect Retest流程35图4. 8缺陷与测试用例的36图4. 9关键 Defect 的总结36图4. 10 测试用例的执行个数汇总37图4. 11 测试用例的执行状态38表目录表4. 1各部门的 Defect 个
13、数与 Defect 状态39表4. 2测试用例 Blocked Issues39第1章 绪论1.1 论文的研究背景现银行信贷作为我国各家村镇银行的主要业务,在支持我国经济发展和GDP 增长中发挥着重要的作用,对于提高人们的生活水平同样功不可没。银行信贷业务的管理是村镇银行经营管理的重中之重,关乎村镇银行经营好坏,从长远期来看,对于信贷规模与货币发行都会产生影响。随着国家近年来对中小金融机构发展的支持,村镇银行信贷业务的种类日趋增加,信贷业务也更为复杂,这对于信贷管理系统提出了更高的要求,因此只有通过更为先进的管理工具和手段、统一的信息化技术,才能对信贷业务实施科学规化的管理,进而实现对信贷资产
14、的有效监管和有效的风险控制。金融改革逐步的深入使得村镇银行需要一个实施前中后台操作的信贷业务处理平台,用以建立和完善村镇银行信贷管理信息系统。村镇银行信贷业务的高速发展使得对信贷管理系统的功能与性能等提出了更高的要求。采取怎样的措施去保证金融软件的质量以减少风险,成了各金融IT部门关注的重点。在软件系统的开发过程中,软件测试影响项目的整体质量、工期和投资效益,对项目的整体成功具有重要意义。软件测试本身以软件质量作为关注点,力图发现软件产品在需求获取、分析、设计、编码中的错误和缺陷,直接揭示软件产品的阶段性质量属性,帮助开发者持续提高软件质量,它在软件质量控制上的地位不可代替。这使得它在软件开发
15、过程中越来越被重视。据统计,成功软件项目在测试方面的投入大概占到项目总投入的40%,关键复杂的软件项目甚至占到50%60%。但软件测试本身有它的局限性,不可能通过软件测试来发现软件的所有缺陷。怎样在合理的时间,花费更少的成本,采用更好的软件测试方案,组织更合理的软件测试过程去发现尽可#能多的软件缺陷,成了测试人员关注的重点,这也使得对软件测试过程和方法的研究颇具实际意义。1.2 论文的研究意义和目标在村镇银行信贷系统软件中,贷款管理和贷后管理是重要的组成部分,因此需要与时的更新版本,以此来满足用户日益增长的需求,这两个子模块的开发周期基本为半个月到一个月,每个开发周期都会增加一定数量的新功能以
16、满足用户需求和提高产品功能。但是随着其功能的增加,系统的复杂度也越来越高,不管是项目开发人员本身还是其用户,对村镇银行信贷系统软件这个产品的质量要求也越来越高。因此,在测试阶段,有效的提高测试质量和测试效率是非常必要的,而在测试过程中引入功能测试工具就可以很好的满足这一目的,为了更好的保证功能测试顺利进行,这就是本文的研究意义所在。为村镇银行信贷系统软件定制适应的功能测试,实现从编译、系统部署、测试执行到测试报告发布实现全面的测试。在测试阶段,将重复的性能测试,回归测试,功能点测试进行管理,可以有效的减少测试人员的工作量,使得测试人员可以将精力集中在新增功能点的验收测试中,进一步的提高测试的效
17、率,以此来保证软件质量满足用户的需求。在现今众多的测试工具中,如#何选择高效率,低成本的测试管理,构建出适应于村镇银行信贷系统软件是本文的研究目标。1.3 国外研究现状随着软件产业的蓬勃发展以与对软件质量的重视,软件测试也越来越被企业所重视,软件测试正在逐步成为一个新兴的产业。国软件测试技术研究起步于国家“六五”规划期间,主要随着软件工程发展起来的,目前仍处于起步阶段,市场刚产生萌芽。具体表现为:软件测试行业中各种软件测试的方法、技术和标准都还在探索阶段;少数几个专业化第三方软件测试机构的出现。据“首届中国软件测试与软件产业发展战略研讨会”的讨论:“市场化的第三方测试如同刚刚出生的宁馨儿,目前
18、的市场几乎可以忽略不计”。究其原因,可以归纳为如下几个方面:(1)国软件公司对软件测试的思想观念还有待提高,不够重视,软件企业不愿意在软件测试环节投入大量的成本。(2)目前国软件公司所采用的测试流程有待创新,软件测试如同软件开发一样,需要经过收集测试需求、确定测试策略、设计测试、执行测试、分析测试等流程。软件测试不是软件开发的最后阶段,而是贯穿于软件项目的整个生命周期。(3)目前国软件测试技术和自动化程度有待提高,技术创新还不够。(4)目前国软件市场知识产权保护不够,开发商移交给第三方机构测试时,往往面临较大的知识产权风险。与此同时,国软件测试专业化程度在不断提高。信息产业部和国家质检总局领导
19、成立了国家级计算机软件产品质量检测机构中国软件评测中心,省和直辖市单位也专门成立了各自的软件评测中心。除了政府牵头的这些软件评测中心外,也有一些由国家投资或民间投资成立的第三方软件评测中心,如:赛宝软件评测中心,太平洋测试室等。但在软件业较发达的国家,软件测试早已成为软件开发的一个有机组成部分,在整个软件开发的系统工程中占据着相当大的比重,以美国为例,资金的投入所占的比重,通常是 “需求分析”和“规划确定”各占 3%,“设计”占 5%,“编程”占 7%,“测试”占 15%,“投产和维护”占 67%。国外的软件测试市场已成为软件产业中的一个独特市场,成熟、稳定、权威的软件专业测试公司发展迅速。如
20、:2002年美国EMC公司宣布成立EMC微软 Windows测试中心,负责测试微软产品在存储网络环境中的应用,同时也进行 Windows 平台上存储网络的适应性测试与模拟客户环境测试;美国 IDG InfoWorld 测试中心成立多年以来,已经成为全球软件产品的品质测试和评估的首选机构与高品质软件产品的权威推荐机构。1.4 论文组织结构本文共分六章,容安排如下:第一章绪论:介绍本论文的背景和研究意义、论文研究目标和国外研究现状等。第二章软件测试的概述和工具:阐述软件测试的相关概念和理论,对其软件测试过程中使用的测试工具进行概括。第三章村镇银行信贷系统模块:介绍村镇银行的各个模块组成部分、业务流
21、程与该系统的测试需求。第四章Quality Center在信贷系统功能测试中的应用:通过对信贷功能测试,进行测试用例设计,与所采用的功能测试流程;并在测试中使用 Quality Center 去实现整个测试的过程。第五章总结与展望1.5 本章小结本章首先介绍了论文的研究背景,研究意义和目标,其次简介了国外在测试领域的研究现状,最后说明了本文主要工作以与各章的主要容。第2章 软件测试的概述和工具2.1 软件测试2.1.1 软件测试的定义早在 1979 年 Glenford J.Myers 在他出版的经典著作The Art of Software Testing中,对软件测试进行了这样的定义:“软
22、件测试就是为了发现错误而执行程序或者系统的过程”。在这个定义中说明了软件测试的根本目的是为了发展程序中的错误,在当时软件测试通常是在软件产品开发的后期开始,主要目的就是寻找产品运行过程中的缺陷,因此,他对软件测试所下的这一定义被人们广泛接受,反映了人们在当时对软件测试所持的观点。随着这一定义被广泛使用, 人们发现了定义中存在的不足,于是在 1983年, IEEE 在软件工程标准术语中提出并调整了对软件测试的定义,即“使用人工或自动的手段来运行或测试某个系统的过程,其目的在于验证它是否满足规定的需求或弄清预期结果与实际结果之间的差别”。整个定义继承了之前人们对软件测试定义中的精华,另外还明确指出
23、,软件测试作为保证软件质量的一个重要手段,其主要任务是检验软件各个部分,以与整个系统是否正确、完整地实现了预定的功能,以确保软件质量。今天,人们对软件测试有了更进一步的认识,从广义上讲,软件测试是指软件产品生存周期所有的检查、评审和确认活动。从狭义上讲,软件测试是对软件产品质量的检验和评价。它一方面检查软件产品质量和存在的问题,同时对软件产品质量进行客观的评价。2.1.2 软件测试的目的基于不同的立场,存在着两种截然不同的测试目的。从用户角度出发,普遍希望通过软件测试暴露出软件中陷藏的错误和缺陷,以考虑是否可以接受该产品。而从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,
24、验证该软件己正确地实现了用户的要求,确立用户对软件质量的信心。因为程序最终是由用户来使用的,而在程序中存在着许多预料不到的问题,可能没有被发现出来,许多隐藏的错误只有在特定条件下才能显露出来。如果不站在用户使用的角度出发,这些隐藏的问题就会发布出去,影响用户的使用性。如果站在用户角度,就应当把测试目标定位程序中一定存在错误。在选取测试用例时,也考虑那些易于发现程序错误的数据。一般谈到软件测试目的时,人们都会引用Grenford J. Myers在The Art of Software Testing书中的观点:1软件测试是为了发现错误而执行程序的过程;2测试是为了证明程序有错,而不是证明程序无
25、错误;3一个好的测试用例是在于它能发现至今未发现的错误;4一个成功的测试是发现了至今未发现的错误的测试2.1.3 软件测试的原则一般来说,在软件测试过程中,要遵守以下几条原则:1 在软件研发的过程中,应尽早的进行软件测试。 实践证明,缺陷发现的越早,修改缺陷的成本就越低。随着时间的推移,修复软件缺陷的费用在成倍增长,有统计表明在软件维护阶段修复一条缺陷的成本是在单元测试阶段修复一条缺陷的成本的 10 倍,是在设计阶段修复一条缺陷的成本的 40 倍,是在需求阶段修复一条缺陷的 200 倍。 2 软件测试应贯穿于整个软件的生命周期。 软件的质量不仅和编码有关,它和编码之前所做的需求分析、软件设计等
26、都有密切的关系。软件使用过程中出现的错误不完全是编程人员在编码阶段引入的,大部分都是在程序设计阶段和需求分析阶段就遗留下来的。有统计说明,需求分析阶段引入的缺陷占整体软件中缺陷的比例是最高的。所以,对于缺陷的纠正往往不能只通过修改程序来完成,而必须追溯到软件开发的最初阶段,应当把软件测试贯穿到软件的整个生命周期中。只有坚持在软件开发的各个阶段都进行软件测试,才能在软件开发过程中尽早发现和预防错误,把出现的错误在尽早修复,从而更好的提高软件质量。3 软件测试应追溯需求。 软件测试的依据是用户认可的需求说明书,在测试过程中必须确保最终交给用户的产品的功能符合用户的需求。通常所有的测试都是根据用户需
27、求来进行的,一旦在测试过程中发生争议,所有问题的解决都要依据需求说明中的规定。4 穷举测试是不可能的,要遵循 Good-enough 原则。 在软件测试过程部分情况下穷举测试是不可能实现的。通过统计发现,如果试图测试所有的情况,费用将大幅提高,而缺陷遗漏的数量不会随着费用的上涨而显著下降;如果减少测试或者错误的确定测试对象,那么费用会很低,但会遗漏掉大量的软件缺陷。那如何来进行测试以保证测试效果,就需要采用Good-enough 原则,既不要做过多的测试,也不#要做不充#分的测#试。需要在测试量和发现的缺陷数量之间找到最合适的平衡点。5 关注群集现象:充分应用二八定理 统计表明,在进行了测试后
28、,被测试程序中汇总残留的缺陷数目和程序中已发现的缺陷数目相比较,大部分都成正比。根据这个规律,应对错误群集的程序进行重点测试,以提高测试效率和测试效果。比如IBM公司的OS/370操作系统的测试过程中,发现 47%的错误仅与系统中 4%的程序模块有关。软件部分的缺陷往往是存在于少部分的模块中,应用二八定理可以理解为,80%的缺陷存在于 20%的模块中。所以在测试过程中,如果发现某一模块或程序比其他模块或程序有更多缺陷,应当考虑对这部分模块或程序花更多的时间更全面和深入的进行测试。6 严格按照测试计划进行测试,坚决排除随意性的测试。 在软件测试计划中一般会包括需要进行的软件测#试的测#试围,测试
29、的规,软件测试的测试策略,各阶段测试任务的人员安排和进度安排,人力物力等资源的要求,测试环境的要求,测试模版和测试工具的使用要求,测试用例和缺陷记录编写的要求,测试的控制方式和过程,以与各阶段测试的评价标准。要严格按照测试计划执行,只有这样才能完成预先制定的测试围,达到预先估计的测试质量,消除随意带来的副作用。7 必须确定预期输出结果进行软件测试过程中,必须确定好预期输出,通过输入操作和输入数据以与系统环境,可以给出一个正确的测试结果,如果测试用例中没有给出预期测试结果,那么就无法验证系统执行是否正确,这样很有可能会遗漏缺陷。莫棱两可的、有歧义的预期测试结果,很可能在进行测试时,把错误实际输出
30、结果当作正确的结果,从而带来更大的错误和损失。8 应当对每一个测试结果做全面检查 实际上在最终发现的缺陷中,有些缺陷在之前的测试中已经出现了,但是如果测试人员疏忽了全面检查的环#境,很可能使这些错误被遗漏掉。所#以对于每一个预期的输出结果进行明确定义的同时,还必须对每一个实际测试的结果进行全面的、仔细的分析检查,最大程度上发现缺陷。2.2 软件测试的分类从不同的角度来考虑,软件测试可以有不同的划分方法,对测试进行分类可以更好的明确不同软件测试过程中,需要完成的工作有哪些。从不同的测试方法角度来看,可以有以下几种划分:1黑盒测试和白盒测试这种分类是从是否关心软件部结构和具体实现的角度来划分的。黑
31、盒测试又称为功能测试、数据驱动测试。着重从软件功能是否正确进行测试。通过输入数据得到实际输出结果,依照需求规格说明书中对该功能的描述来判断实际输出结果和预期结果是否相一致,从而检验系统功能实现是否正确,以与功能实现的可靠性、有效性等。白盒测试又称为结构测试、逻辑驱动测试。着重从代码的逻辑结构是否正确进行测试。测试人员检查程序的部逻辑结构,按照一定的方法来设计测试用例,对软件的逻辑结构进行测试,检查程序的状态,从而判定实际情况是否与预期的状态相一致。2静态测试和动态测试这种分类是从是否执行程序的角度来划分的。静态测试是不运行被测试程序本身,而查找程序代码中可能存在的错误或评估程序代码的过程。常使
32、用的方式是通过一定的规来分析或检查源程序的文法、结构、过程、接口等部分,来检查程序找出缺陷。动态测试是通过运行被测程序来发现缺陷的。通过输入相应的测试用例和数据,检查运行结果是是否符合预期要求,从而检验程序的正确性和有效性,并分析系统的效率和健壮性等性能。3手工测试和自动测试这种分类是从是否使用自动测试工具的角度划分的。手工测试是指由测试人员通过手工执行测试用例,人工的去比较实际运行结果和预期结果的差异,得到测试结果并进行记录。而在自动测试的过程中是由自动测试工具来完成测试工#作的。4单元测试、集成测试、确认测试、系统测试和验收测试这种分类是从软件测试的阶段来划分的。单元测试又称模块测试,测试
33、人员对软件设计的程序模块,来进行正确性检验的测试。发现各模块部可能存在的缺陷是这一阶段测试的主要目标。 集成测试是在系统通过了单元测试的基础上,把单元模块按照设计要求集成,对组装后的子系统进行测试。检测多个模块连接在一起后能否正常工作是这一阶段的主要测试目标。 确认测试是通过效性测试和软件配置审查,来验证软件的功能、性能与其它特性是否与用户的要求一致。 系统测试一般是在确认测试通过后进行,需要将软件作为整个计算机系统的一部分,与计算机硬件、外设、一些支持软件、数据和人员等其它系统元素结合在一起,在用户使用的实际运行环境下,对计算机系统进行全面功能和性能方面的整体测试。 验收测试的主要目的是向最
34、终用户展示软件系统可以很好的满足用户需求。它是在软件产品交付用户正式使用前的最后一道工序。2.3 软件测试的流程早期软件生命周期大多采用瀑布模型进行软件的研发,根据瀑布模型,软件测试设计了V模型,它是对瀑布模型在测试阶段的描述,反映了测试活动与设计的关系。在V模型中,有序的描述了基本的开发过程阶段和测试过程阶段,明#确了测试过程顺序,并且说明了各个测试阶段和开发期间的各阶段的对应关系。在这一时期软件测试的主要工作就是在编码后期执行单元、集成、系统和验收测试,通过发现和修改缺陷,提高软件质量。下图2.1为软件测试V模型。图2. 1 软件测试V模型随着软件研发技术的发#展,逐级暴露了瀑布模型的问#
35、题,它的开发过程是线#性的,必须要等到整个开发进行到最后才能进行验证,从#而软件测试只能在开发的后期才能进行,导致在前期产生的缺陷要等到后期才能发现,增加了修改成本,而且很可能在后#期修改前期产生的缺陷会带来更多的缺陷。由于瀑布模型在开发和测试上的局限性,现#在基#本已#经被各软件公司淘汰。之后,软件生命周期模型也有所变化,出现了演化模型、螺旋模型、喷泉模型、智能模型等。同时软件测试模型也有所发展出现了 W模型、H模型、X模型等。现在 W 模型是在软件测试行业中比较常用的一种方法。和V模型相比较,在W模型遵循了“软件测试应贯穿于整个软件的生命周期”的原则,增加了软件各开发阶段中应进行的验证和确
36、认活动。由两个V字型模型组成的W模型明确表示出了测试与开发的并行关系,两个 V 字模型分别代表软件测试与软件开发的过程。在W模型中,强调软件测试是贯穿整个软件开发周期,而不再是开发编码完成后才进行的工作。并且扩大了软件测试的对象围,这时的软件测试对象不再只是软件程序,对于软件需求、设计等过程和文档也要进行测试,这样软件测试和软件开发是同步的,软件测试可以尽早的进行,有利于尽早地全面的发现问题,从而更好的规避风险9。图2.2为软件测试W模型。图2. 2 软件测试W模型在W模型中,软件测试的流程划分更加细致,具体流程如下1. 用户需求调研阶段:需要对用户需求进行确认和验证,并根据用户需求进行验收测
37、试设计。2. 需求分析与系统设计阶段测试人员需要对需求设计说明书进行确认,并验证需求设计说明书的容是否符合用户需求;测试人员需要对系统设计方案进行确认,并验证系统设计方案是否合理并且满足了用户需求测试人员需要根据需求分析说明书和系统设计方案进行系统测试设计,包括编写系统测试计划与方案,编写系统测试用例等。3. 概要设计阶段:测试人员需要对概要设计文档进行确认和验证,并根据概要设计文档进行集成测试设计,包括编写集成测试计划与方案,编写集成测试用例等。4. 详细设计阶段:测试人员需要对详细设计文档进行确认和验证,并根据详细设计文档进行单元测试设计,包#括编#写单元测试计划与方案,编写单元测试用例等
38、。5. 编码阶段:测试人员需要根据单元测试计划与方案和单元测试用例,对开发完成的模块进行单元测试,并记录和跟踪软件缺陷。6. 系统集成阶#段:测试人员需要根据集成测试计划与方案和集成测试用例,对已经通过单元测试的模块进行测试,并记录和跟踪软件缺陷。7. 系统实施阶段:测试人员需要根据系统测试计划与方案和系统测试用例,对通过集成测试的系统进行确认测试和系统测试,并记录和跟踪软件缺陷。8. 系统交付阶段:测试人员组织用户进行验收测试,并记录和跟踪软件缺陷。9. 软件系统测试总结阶段:测试人员需要编写该软件系统的测试总结,包括测试过程情况描述,缺陷情况描述以与测试结果等。2.4 功能测试2.4.1
39、功能测试概念功能测试,测试条件主要是基于程序或者系统的功能。比如,测试人员需要有关输入数据的信息,然后他观察输出数据,但是他并不知道程序到底是如何工作的。就好比一个人不知道汽车的部工作方式。在这里,运行一个程序并不需要对理解其部结构。在黑盒测试中,测试人员把程序看成一个黑盒子,他完全没有必要了解程序或者系统的部构造。这方面的例子有:决策表格、等值划分、围测试、边界值测试、数据库完整性测试、因果图、直交数组测试、数据和表格测试、异常测试、极限测试以与随机测试。功能测试主要是根据产品规格说明书,来检验被测试的系统是否满足各方面功能的使用要求,主要包括:1 程序安装、启动正常,有相应的提示框、错误提
40、示等。2 每项功能符合实际要求。3 系统的界面清晰、美观。4 能接受正确的数据输入,对异常数据的输入可以进行提示、容错处理等。5 功能逻辑清楚,符合使用者习惯,支持各种应用的环境。功能测试一般须在完成集成测试后进行,而且是针对应用系统进行测试。功能测试的主要特点可分为以下几个:1) 功能测试一个从简单的测试描述(测试功能点、测试需求等)逐步细化到能够去依照执行的测试用例的过程;如果只有简略的测试用例或者没有测试用例的情况下,测试的过程与测试质量难以控#制;整个测试过程只能依靠测试人员的经验实施,导致系统中存在的一些严重缺陷难以发现。其次,简单的测试用例的重用性差,导致不同的测试人员对测试用#例
41、有不同理解。一个详细的测试用例会使测试人员按照测试用例选择数据和执行测试,使测试质量可跟#踪,也容易控制和估算整个测试过程所需的工作量,时间和人力资源。2) 功能测试是个数据与测试用例分离,也即是一个将测试数据与测试逻辑(步#骤)分开,简化测试用例的过程,在执行用例时才选择相应的数据。3) 系统功能点全覆盖。功能点全覆盖是功能测试的基本要#求,功能测试用例要和系统功能要对应,从用户角度来进行功能验证,以确认每个功能是否能正常使用。包括每个界面的功能控件;从而确保每个控件都能使用。2.4.2 功能测试目的功能测试,在单元测试中的功能测试是保证测试的每个独立模块在功能上是正#确的,在单元测试中主要
42、采用白盒测试。在系统集成过程中和系统集成后所进行的系统功能测试不仅要考虑模块之间集成后能否正常使用,而且要考虑系统应用环境,在功能测试中,不同的系统需求,有时也要用相应的白盒测试查看据库的值或者源代码,系统实现中的消息处理等。测试的目的是以最少的时间和人力。系统地找出软#件中潜#在的各种错误和缺陷如果我们成功地实施了测试,我们就能够发现软件中的错误。测试的附带收获是,它能够证明软件的功能性能与需求说明是相符合的。2.5 测试管理与管理工具2.5.1 测试管理测试最重要的是什么呢?我一直认为是有效的测试管理。测试管理包括对人的管理、对流程的管理、对具体版本的管理等。测试要考虑的所有问题都可以列入
43、此列,例如测试人员的分工、测试规程的制定、测试流程的裁减、采用什么的测试流程、测试设计怎样操作、测试执行如何计划、和测试度量怎样进行等。因此,测试不仅仅是一种技术,不仅仅是开发完成后的验证活#动,真正要做好测试,更需要建立起一套测试管理体系。一个测试项目成功需要很多因#素,测试管理是其中的重中之重。测试管理包含计划、创作、执行和报告测试,以与如何使测#试与软件开发工作的其他部分结合起来。有组织的测试管理将会减少错误而且使得复杂的项目得到更有效的、有力的管理。软件测试管理是一种活动,可以对各阶段的测试计划,测试用例,测试流程,测试文档等进行跟#踪、管理并记录其结果。测试管理工具,是指用工具对软件
44、的整个测试输入、执行过程和测试结果进行管理的过程。可以提高回归测试的效率、大幅提升测试时间、测试质量、用例复用、需求覆盖等。目前市场上主流的软件测试管理工具有:Test Center(泽众软件出品)、Test Director(MI公司TD,8.0后改成 QC) ,Rational Test Manager(IBM) ,QA Director(Compuware),Test Link(开源组织),QA Traq(开源组织),Jira (Atlassian)。测试管理包含的容有:测试框架、测试计划与组织、测试过程管理、测试分析与缺陷管理。在软件开发随着不断地发展,在软件开发过程中需求不断地增加;
45、如果没有一个有序的软件管理工具,软件开发的过程得不到控制;软件质量不能得到保证。当软件的测试用例在不#断地编写并执行,随着缺陷在增加时,测#试管理工具能将这些需求、测试用#例以#与缺#陷都在管理工具中体#现。软件管理在数据控制方面的作用远远大于无管理时的软件开发,具体表现在: 1. 可以实现测试需求、测试用例与缺陷提供的数据进行共享;在软件开发中,测试人员、需求人员以与开发人员对软件测试的整个过程都可以通过管理工具的数据进行达成共识或者提出疑问。2. 方便任务的异地处理。由于地域的因素,很多公司尤其是跨国企业;往往开发人员与测试人员的地理位置不一样,一个软件测试管理工具;可以使开发人员或者在测
46、试人员在异地处理缺陷的情况。3. 方便测试或者开发任务的跟踪与安排。软件测试管理工具可以有选项选择负责人。测试经理或者开发经理可以通过该项将任务分发给不同的人员;并可以在软件管理工具实时跟踪员工的进度,从而与时发现问题。2.5.2 Quality Center简介Quality Center(简称 QC)前身是 Mercury Interactive 公司的 Test Director,目前已经被惠普公司收购,正式名字为 HP Quality Center。QC 是一个基于 Web 的测试管理工具,可以组织和管理应用程序测试流程的所有阶段,包括指定测试需求、测试计划、执行测试和跟踪缺陷;还可以
47、创建报表和图来监控测试流程,通过模块与模块之前的联系来控制项目测试流程的执行。QC 能使测试人员在开发流程完成前就参与到应用程序的测试阶段,能确保高水平的产品质量,提高测试的工作效率,节省时间。QC 对测试管理包括以下四个部分的容:1、明确需求:对需求进行分析,得出测试需求,确定测试围,建立需求,通过用户提交的需求,经常需求分析人员、开发人员和测试人员审核后,提交到 QC 的需求管理;还可以产生报告和图表帮助测试人员分析测试需求,检查需求以确保它们在测试围。2、测试计划:根据测试需求创建测试计划和定义测试策#略,也就是测试方案和用例,分析测试要点与设计测试用#例;定义测试的类型,对测试计划进行细化,并可以和需求模块的每个需求进行关#联。3、执行测试:可以通过调用测试计划中的测试用例执行测试,运行测试时可以手动或自动执行测试,并可以查看测试结果。执行测试用例前,我们可以创建 Test Set,确定每个 Test Set 包括哪些测试容,在通过计划运行时间和负责人的定义;安排测试人员的测试任务和时间表。还可以生成报告和图表去观看测试结果,确定在测试执行中的缺点是否被发现,哪些测试用例不能被执行。4、跟踪缺陷:用于在执行测试时,可以报告新发现的缺陷,对每个执行
限制150内