文章目录
单元测试
英文 unit testing,缩写 UT。测试粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合"设计"。
单元测试是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
集成测试
英文 System Integration Test,缩写 SIT。也叫组装测试、联合测试等。在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试。
集成测试界于单元测试和系统测试之间,起到"桥梁作用",一般由开发小组采用白盒加黑盒的方式来测试,既验证"设计",又验证"需求"。 主要用来测试模块与模块之间的接口,同时还要测试一些主要业务功能。集成测试是单元测试的逻辑扩展。它最简单的形式是:把两个已经测试过的单元组合成一个组件,测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合为程序的更大部分。方法是测试片段的组合,并最终扩展成进程,将模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。此外,如果程序由多个进程组成,应该成对测试它们,而不是同时测试所有集成测试进程。
集成测试在系统测试之前,单元测试完成之后系统集成的时候进行测试。集成测试主要是针对程序内部结构进行测试,特别是对程序之间的接口进行测试。集成测试对测试人员的编写脚本能力要求比较高。测试方法一般选用黑盒测试和白盒测试相结合。
集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单元之间的接口是否正确。它根据集成测试计划 ,一边将程序单元或模块组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各个组成部分是否交互正常。集成测试的策略主要有自顶向下和自底向上两种。也可以理解为程序单元或功能模块组装、集成为系统时,对应用系统的各个部件(软件单元、功能模块接口、链接等)进行的联合测试,以决定他们能否在一起共同工作,部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。
完成单元测试后,各模块联调测试。集中在各模块的接口是否一致、各模块间的数据流和控制流是否按照设计实现其功能、以及结果的正确性验证等等。
系统测试
系统测试是将已经确认的软件、数据、接口、计算机硬件、外设、网络等所有与系统有关的元素结合在一起,完整地模拟客户环境对系统进行的黑盒测试。
系统测试最主要的就是功能测试,测试软件《需求规格说明书》中提到的功能是否有遗漏,是否正确的实现。做系统测试要严格按照《需求规格说明书》,以它为标准。
软件系统测试的方法很多,主要有功能测试,性能测试,随机测试等。
系统测试是针对整个产品的全面测试,既包含各模块的验证性测试(验证前两个阶段测试的正确性)和功能性(产品提交个用户的功能)测试,又包括对整个产品的健壮性、安全性、可维护性及各种性能参数的测试。
用户验收测试
英文 User Acceptance Test,缩写 UAT,叫用户接受测试或者用户验收测试。
用户根据用例描述测试每一个场景,反馈系统问题。开发人员基于问题对系统和业务的影响进行判断,适当的修正系统或记录业务需求,根据需求优先级,集成进下一个迭代版本中。
里程碑:UAT Sign off。
UAT sign off 意思是用户验收测试(UAT)通过并获得批准,即用户对软件系统的测试结果满意,并同意将其投入使用。
在软件开发过程中,用户验收测试是最后一项测试,目的是验证软件是否满足用户需求和预期。当用户完成测试并确认软件可以投入使用时,他们会签署 UAT sign off,表示他们满意软件的质量和功能,并同意将其交付使用。
黑盒测试
黑盒测试不考虑程序内部结构和逻辑结构,主要是用来测试系统的功能是否满足需求规格说明书。一般会有输入值、输出值、期望值,将输出值和期望值进行比较。
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,只检查程序功能是否按照需求规格说明书的设计正常使用,程序是否能接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
白盒测试
主要应用在单元测试阶段,主要是对代码级的测试,针对程序内部逻辑构,测试手段有:语句覆盖、判定覆盖、条件覆盖、路径覆盖、条件组合覆盖。白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
压力测试
性能测试
容量测试
安全测试
SIT和UAT的区别
测试内容
集成测试:各个单元模块之间的接口。
系统测试:整个系统的功能和性能。
测试角度
集成测试:偏于技术角度的验证。
系统测试:偏于业务角度的验证。
测试对象
集成测试由通过了单元测试的各个模块所集成起来的构件。
系统测试除了软件之外,还包括计算机硬件及相关的外围设备。
测试时间
集成测试介于单元测试和系统测试之间。
系统测试在集成测试之后。
测试人员
集成测试一般由公司的测试工程师来测试。
系统测试可以由测试工程师来进行,也可以由关键用户(最终用户)来测试。
测试技术
集成测试一般采用黑盒测试和白盒测试相结合
系统测试则采用黑盒测试