NewModernTechnologyLimited软件测试基本概念DocumentNo.:EffectiveDate:ControlledNo.:Priority:NormalVersion:V1.0EditStatus:AllPages14TextPages12AddendaAuthorizedby:Sam/FredAuditedby:Confirmedby:DocumentModificationManagementNo.ofModifiedRecordsModifiedStatusModifiedPagesorRecordsModifiedbyAuditedbyConfirmedbyModifiedDate目录一、软件测试基本概念......................................................................................................................3二、测试阶段......................................................................................................................................4NewModernTechnologyLimited2.1、单元测试(UnitTesting)..................................................................................................42.2、集成测试(IntegrationTesting).......................................................................................42.3、确认测试(ValidationTesting)..........................................................................................42.4、系统测试(SystemTesting).............................................................................................42.5、用户验收测试(UserAcceptancetesting).......................................................................4三、测试分类......................................................................................................................................5四、常用的测试..................................................................................................................................64.1、常用测试概述......................................................................................................................64.2、常用测试详述......................................................................................................................7五、测试术语大全............................................................................................................................10六、缺陷管理....................................................................................................................................136.1、Bug的严重级别(Severity)..............................................................................................136.2、Bug的优先级(Priority)...................................................................................................136.3、Bug的类型(Type)...........................................................................................................136.4、Bug状态(Status)..............................................................................................................136.5、提交Bug的注意事项.......................................................................................................146.6、常见的Bug管理工具.......................................................................................................14七、常见易混概念汇总....................................................................................................................15一、软件测试基本概念1、软件=程序+文档,软件测试=程序测试+文档测试。“程序”是指能够实现某种功能的指令的集合,“文档”是指软件在开发、使用和维护过程中产生的图文集合。UserRequirement:简称UR,用户需求。DesignSpec:简称DS,设计说明书。FunctionRequirementSpec:简称FRS,功能需求规格说明书。FunctionDesignSpec:功能设计说明书。TestPlan:测试计划,根据整个项目的进度和开发的进度来编写。TestSpec:还有TestCase(测试用例),根据UR和FRS来编写。LogReport:缺陷报告,记录该系统存在的Bug。TestReport:测试报告,测试完后需对所做的测试工作进行总结和对系统的评价、建议。UserManual:用户手册。UserGuide:用户指导。2、软件的分类:按功能:系统软件、应用软件;按技术架构:单机版软件、C/S结构软件(C:客户端,S:服务器端)、B/S结构软件(B:浏览器)按照用户划:产品软件、项目软件;按开发规模:小型、中型、大型。3、软件环境的分类:软件开发环境;软件测试环境;软件生产运行环境。NewModernTechnologyLimited测试环境=软件+网络+硬件。搭建环境:真实、干净、无毒、独立。4、Bug的定义:从内部看:软件的缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题。从外部看:软件的缺陷是系统所需要实现的某种功能的失效或违背。常见的BUG分三种类型:完全没有实现的功能;基本实现了用户需求的功能;实现了用户不需要的功能。5、测试用例:测试用例=输入+输出+测试环境。指在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和与其结果!测试用例有两个模板,word和excel,前者适合性能测试,后者适合功能测试。6、优秀的软件测试工程师应该具备的基本职业素质:三心二意一能力:三心:细心、耐心、信心;二意:服务意识、团队意识;一能力:沟通能力。二、测试阶段2.1、单元测试(UnitTesting)是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。2.2、集成测试(IntegrationTesting)也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,如根据结构图组装成为子系统或系统,进行集成测试。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。测试范围:单元间的接口以及集成后的功能。2.3、确认测试(ValidationTesting)又称有效性测试。有效性测试是在模拟的环境下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的需求。有两项工作:1.进行确认测试;2.软件配置复审。2.4、系统测试(SystemTesting)是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。NewModernTechnologyLimited2.5、用户验收测试(UserAcceptancetesting)系统开发生命周期方法论的一个阶段,这时相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收。α测试(alphatesting)──在开发一个应用软件即将完成时所进行的测试;是指软件开发公司组织内部人员模拟各类用户行对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。β测试(betatesting)──当开发和测试已基本完成,需要在正式发行之前最后寻找毛病而进行的测试。开发者通常不在测试现场,由最终用户或其他人进行这种测试,而不是由程序员和测试人员来进行。回归测试:根据修复好了的缺陷再重新进行的测试。目的在于验证以前出现过但已经修复好的缺陷不再重新出现。一般指对某已知修正的缺陷再次围绕它原来出现时的步骤重新测试。通常确定所需的再测试的范围时是比较困难的,特别当临近产品发布日期时。因为为了修正某缺陷时必需更改源代码,因而就有可能影响这部分源代码所控制的功能。所以在验证修好的缺陷时不仅要服从缺陷原来出现时的步骤重新测试,而且还要测试有可能受影响的所有功能。因此应当鼓励对所有回归测试用例进行自动化。三、测试分类软件测试按照不同的划分依据可以有多种分类:按测试阶段按测试目的按测试对象按测试过程按是否需要执行被测软件其他测试技术单元测试Unittest组件测试Componenttest集成测试Integrationtest系统测试Systemtest验收测试Acceptancetest安装测试InstallationtestA、正确性测试Correctnesstes