1.4 测试各阶段(单元、集成、系统 、Alpha、Beta、验收)
单元测试:
单元测试是对软件基本组成单元(软件设计的最小单位)进行正确性检验的测试工作,如函数、过程(function,procedure)或一个类的方法(method)。单元测试是一个方法层面上的测试,也是最细粒度的测试。目的在于发现每个程序模块内部可能存在的差错。是代码开发完成之后,由开发进行的测试
测试工具:JUnit ,TestNG
*参照:http://tech.sina.com.cn/s/2009-07-20/1529991506.shtml
集成测试:
集成测试是在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系统,验证组装后功能以及模块间接口是否正确的测试工作。集成测试也叫组装测试、联合测试、子系统测试或部件测试。集成测试关注的被测模块的实际调用情况,并结合模块之间的接口来进行测试:1.在把各个模块连接起来时,穿越模块接口的数据是否会丢失;2.各个子模块组合起来,能否达到预期要求的功能;3.一个模块的功能是否会对另一个模块的功能产生不利的影响;4.全局数据结构是否有问题;5.单个模块的误差积累起来是否会被放大,从而达到不可接受的程度。
测试人员做的是业务上的集成测试。
*参照:http://www.ltesting.net/ceshi/ceshijishu/csgl/jccs/2015/1118/208121.html
系统测试:
系统测试是将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际使用环境下,对计算机系统进行一系列的组装测试和确认测试的工作。
验收测试:
验收测试是在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动。它是技术测试的最后一个阶段,也称为交付测试。相关的用户和独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。
验收测试是以用户为主的测试,软件开发和QA人员也应该参加,测试一般在用户所在地进行,由用户验证软件产品是否满足了所有的需求的一系列的验收测试工作。仅限于做项目的公司,部门内部测试稳定后,根据合同中需求由发包商进行验收测试。验收测试的目的是为了以发现”未实现的需求”为目的,以评估”适合使用”为目标,该类测试的不是以发现缺陷为主要目的
大型通用软件,在正式发布前,通常需要执行Alpha和Beta测试,目的是从实际终端用户的使用角度,对软件的功能和性能进行测试,以发现可能只有最终用户才能发现的错误。即Alpha测试和Beta测试 是由开发商为了保证软件质量而进行的。
Alpha测试
Alpha测试是用户在开发环境下的测试,或者是开发内部的用户在模拟实际环境下的测试;有开发人员或测试人员在场,可随时记录下错误和使用中出现的问题;
Alpha 测试(α测试)是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完 成。Alpha测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理。目的是评价软件产品的功能、可使用性、可靠性、性能和支 持。尤其注重产品的界面和特色。Alpha测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品达到一定 的稳定和可靠程度之后再开始。有关的手册(草稿)等应该在Alpha测试前准备好。
Beta测试
Beta测试是由软件的一个或多个用户在实际使用环境下进行的测试从而发现软件缺陷;测试开发人员和测试人员都不在场
Beta测试(β测试)是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。 因而,Beta测试是在开发者无法控制的环境下进行的软件现场应用。在Beta测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的,定期向开发 者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。Beta测试着重于产品的支持性,包括文档、客户培训和支持产品的生产 能力。只有当Alpha测试达到一定的可靠程度后,才能开始Beta测试。由于Beta测试的主要目标是测试可支持性,所以Beta测试应该尽可能由主持 产品发行的人员来管理。
*参照:http://wenku.baidu.com/link?url=jed3DelliPvzVtRKBlsbLyK9vvkH7V2lWHLoBCPLXCY7Q1F3C2OER_lsd1-s_VlbfntBpcGiqlgCIlOmRI2T4t2hUOfMiY27BSZRwN_Oo57