原标题:测试理论——SIT测试 和 UAT测试概念

来源:http://www.51testing.com

SIT测试和UAT测试

在企业级软件的测试过程中,经常会划分为三个阶段——单元测试,SIT和UAT,如果开发人员足够,通常还会在SIT之前引入代码审查机制(CodeReview)来保证软件符合客户需求且流程正确。下面简单介绍一下SIT和UAT的基本情况。

SIT(SystemIntegrationTesting)系统集成测试,也叫做集成测试,是软件测试的一个术语,在其中单独的软件模块被合并和作为一个组测试。它在单元测试以后和在系统测试之前。集成测试在已经被单元测试检验后进行作为它的输入模式,组织它们在更大的集合,和递送,作为它的输出,集成系统为系统测试做准备。集成测试的目的是校验功能、性能和可靠性要求,配置在主设计项目中。

UAT(UserAcceptanceTesting)用户验收测试,通常是由最终软件的用户(通常这些用户不了解软件的具体逻辑,而对业务逻辑却相当熟悉)进行的测试,因此是面向最终用户的测试,结束之后通常就可以发布生产环境了。

区别与联系:

SIT是集成测试、UAT是验收测试

从时间上看,UAT要在SIT后面,UAT测试要在系统测试完成后才开始。

从测试人员看,SIT由公司的测试员来测试,而UAT一般是由用户来测试。它们两个之间的专注点是不一样的.UAT主要是从用户层面这些去考虑和着手测试,而SIT主要是系统的各个模块的集成测试.这在整个软件过程理论的基础知识中相当重要的.理论上讲SIT是由专业的测试人员去完成,UAT是由用户去做的.

如果按照规范来的话,做UAT测试的人一定是要对业务很精通的,并且是具有代表性的用户,关注的东西就是业务流程是否通畅是否符合业务的需要.以需求分析文档为重要参考,还有一些用户的操作习惯等等一系列的东西.

对于大型项目环境的准备问题

前提假设是一个大型集团性项目同时规划建设A,B,C,D等多个业务系统,同时建设4A平台,流程平台和ESB服务总线等基础技术平台。这个在我2012到13年企业私有云PaaS平台建设中,专门对集成测试方法和流程进行了详细的阐述,因此在这里只重新回顾一下关键点。

一般需要准备DEV,SIT,UAT和PRD四套环境,即开发,集成,用户验收和生产四套环境。开发环境用于开发厂商自己的单元测试和接口联调,SIT环境用于正式的集成测试,UAT给最终用户验收测试使用。

注意对于测试有两个维度的说法。

a.一个维度是单元测试,集成测试和系统测试。

b.一个维度是开发环境测试,集成环境测试和UAT环境测试。

为什么强调这个概念,因为两个维度都出现了集成测试,容易混淆。即在SIT集成测试环境不是指只做接口的集成测试,在SIT环境同时需要做接口集成测试和业务系统功能点的系统测试。也就是说SIT环境本身也是黑盒的系统测试,只是这个系统测试首先会选择跨系统接口的场景进行测试,确保跨系统场景是通的,然后接着再做业务系统内部的详细功能点测试。

而对于UAT环境的测试,往往不会特意去强调对接口的覆盖,而是完全根据业务场景出发进行测试,端到端的业务场景如果都能够跑通,那么自然是覆盖了所有的跨系统接口的。

因此对于三个环境实际进行的测试内容为:

a.DEV环境:主体是开发厂商自己进行,包括了单元测试+接口集成测试+业务模块功能点的系统测试。

b.SIT环境:可以是整体集成商牵头进行,包括接口集成测试+系统测试,但是全为黑盒测试。

c.UAT环境:以甲方用户牵头进行,也是只进行系统测试,以端到端流程和业务场景驱动进行测试。

环境和部署包迁移的问题

这个实际上我在持续集成方法论中讲过多次,对于SIT环境和UAT环境的部署,都不应该是重新进行编译和构建,而是应该基于DEV环境测试通过的部署包进行迁移,在进行迁移后只修改相应的配置文件。这个当时在执行Ucloud项目的时候,我们完全可以做到上面这种要求。同时对于编译,构建,环境迁移都全部统一管理,开发厂商只能需要按时提交和Checkin代码,由统一的配置管理员进行编译构建和环境部署。虽然没有完全做到基于PaaS平台的自动部署,但是也实现了完整的持续集成过程和版本管理。

一个开发厂商建设的A系统,首先是在Dev环境进行单元测试,那么什么时候能够迁移到SIT环境。

比如,A系统往往涉及到调用B,C等系统的外部接口,那么需要B和C系统配合才能够完成A系统内部各个功能点的测试,这个时候就需要B和C系统已经部署了配合的接口服务。当然也可以是B和C没有部署,A系统自己实现了了一个接口服务模拟器,类似测试挡板和测试桩。但是整体原则都是A系统必须所有功能都自测通过,才能够申请迁移到SIT环境。

注意,这里A系统自测只会关心自己消费外部的接口全部通过,并确保自己提供的功能模块各功能都可以就可以了。对于其它系统消费A的接口它并不会关心。

如果在DEV环境,每个模块都按照刚才的方法自我验证通过,那么基本确认各个模块相互之间集成应该是没有问题的,那么这个时候才能够都迁移到SIT环境,根据业务集成场景进行集成测试。跨系统交互的业务集成场景自然就会覆盖到所有的集成接口。

对于每次的环境迁移,比如在从SIT环境迁移到UAT环境后,都需要准备一个最基本的冒烟测试脚本先进行冒烟测试,确保环境迁移本身没有问题,然后再进行详细的功能性测试。对于冒烟测试可以是人工进行,也可以是通过自动化测试脚本进行。

即使你没有采用持续集成和持续构建方法论,但是环境迁移和各个环境本身的测试状态,当前各个业务系统在各个环境的部署包的版本都必须得到统一的管理,需要有一个类似可视化看板一样的东西能够很明确的看到当前各个业务系统版本在各个环境中的状态情况,并在某次集成或UAT测试结束或通过后及时的标记关键的基线版本。

环境迁移的复杂性

任何环境的迁移,不仅仅是业务系统自身部署包的迁移,同时还涉及到ESB集成平台服务的迁移和部署。而ESB总线的环境迁移仍然应该是迁移部署包的模式,同时只能够是修改相应的配置文件。

注意,对于环境迁移不仅仅是迁移各个业务系统的部署包,更加重要的是静态基础数据的初始化,即在进行SIT或UAT测试之前,各个系统应该有一套相同的基础主数据信息,这个是后续测试的基础。对于这部分基础数据,可以是通过文件或Excel进行导入初始化,也可以是通过接口进行分发,但是具体的规则必须建立好,同时在基础数据初始化完成后必须做校验,以确保期初的基础数据在各个系统是一致的。返回搜狐,查看更多

责任编辑:

sit是什么环境_测试理论——SIT测试 和 UAT测试概念相关推荐

  1. sit是什么环境_测试环境是什么_搭建测试环境要遵循什么原则?

    测试环境是什么? 测试进行软件测试的之前,需要搭建好测试环境.那什么是测试环境呢? 简单的说就是软件运行的平台,即软件.硬件和网络三种环境的合集,也就是说:测试环境=软件+硬件+网络 硬件:包括PC机 ...

  2. sit是什么环境_软件环境常识 --dev sit uat

    DEV环境:DEV顾名思义就是develop,即代码开发的环境. SIT环境:System Integration Test系统集成测试,开发人员自己测试流程是否走通. UAT环境:User Acce ...

  3. 【测试理论】如何做好探索性测试—基础篇

    前不久国庆档上映的一部电影<登山者>,相信大家都已经看过了,在剧中,中国登山队那种不畏困难,勇于探索未知领域的精神着实让人敬佩,特别是最后一刻吴京饰演的方五洲带领队员,终于再次登顶.如果单 ...

  4. 【测试理论】二、测试职业能力维度

    文章目录 前言 测试理论文章目录 一.测试管理能力 1.团队管理 2.流程管理 3.技术管理 二.测试分析能力 1.测试手段 2.分析方向 2.1质量分析 2.2缺陷分析 前言 尽量体系化的拆解一名测 ...

  5. Computer:计算机测试理论(开发/测试/上线)之DEV、SIT、UAT、PRD四套环境详细介绍之详细攻略

    Computer:计算机测试理论之DEV.SIT.UAT.PRD四套环境详细介绍之详细攻略 目录 测试理论 1.DEV.SIT.UAT.PRD四套环境的简介 SIT测试 和UAT测试对比

  6. Computer:计算机测试理论(开发/测试/上线)之DEV、SIT、UAT、PRD四套环境(测试环境/开发环境/生产环境)详细介绍之详细攻略

    Computer:计算机测试理论(开发/测试/上线)之DEV.SIT.UAT.PRD四套环境(测试环境/开发环境/生产环境)详细介绍之详细攻略 目录 测试理论 1.DEV.SIT.UAT.PRD四套环 ...

  7. uat测试用例和sit测试用例_单元测试和sit测试和uat测试

    在软件开发工程中,一般是在本地开发,开发完成自己本地通过单元测试,判断自己的代码是否满足业务需求,这个阶段是自我漏写,和自我考虑不足的弥补:第二阶段是:把自己的代码和别人的代码合并(一般是指从版本库整 ...

  8. 软测面试被问:除了SIT测试,你之前还做过UAT测试吗?

    以前面试银行外包项目时被问到这个问题,总结一下: SIT测试: System Integration Testing,系统集成测试,其实面试官说的更多的是我们平时做的那些测试工作. UAT测试: Us ...

  9. 性能测试测试环境与生产环境_不在生产中测试? 在生产中进行测试!

    性能测试测试环境与生产环境 如果您上一次更新IT安全标准是在5年前或更早,那么它们很可能与当今的DevOps和站点可靠性工程 (SRE)实践的现状不符. 一个特别棘手的话题是生产中的测试,以及因此使用 ...

  10. 搭建测试环境_当面试时被问到“搭建过测试环境吗”, 身为小白要怎么回答?...

    导语:很多人在面试软件测试的过程中,经常被问到"你会搭建测试环境吗"面对这样的提问,你知道怎么回答么?>>>> 怎 么 回 答 面试的时突然被问到,很多人的 ...

最新文章

  1. 一分钟在Linux环境下创建一台SFTP服务器(含账户创建)
  2. 003 辅助框架的代码实现
  3. C#中委托与事件的使用-以Winform中跨窗体传值为例
  4. sqlserver的四种分页方式
  5. 动态更新纹理闪烁问题
  6. JAVA方法重载与构造方法简介
  7. 马云今日正式退休!卸任后的他,仍有12个身份...
  8. telnet IP不通/sybase central工具无法连接到数据库
  9. 各种交换机端口安全总结(配置实例)
  10. pycharm中两个.py文件相互调用和传递参数
  11. html和js制作个人所得税表格,H5编写个税计算器(JS代码编写).doc
  12. 使用python程序抓取天眼查,企查查和爱企查上的企业基本信息
  13. 关于安科瑞电气安全产品在医药工业洁净厂房的电气工程设计与应用
  14. JWT手动签发| 自动签发
  15. UNP-基本TCP编程-1
  16. Spring Cloud Gateway 集成Sa-Token
  17. java web权限管理
  18. 360分卷压缩,zip.001等多个分卷文件合并
  19. 致所有热爱这个专业的小伙伴们的一封信
  20. python什么是入口文件_小问题大隐患:如何正确设置 Python 项目的入口文件?

热门文章

  1. 将英文转化为二进制黑白码
  2. Android - View 和 ViewGroup
  3. 英语发音规则---G字母
  4. CATIA二次开发—参数那点事
  5. 上线时的相关检查清单
  6. 2011年8月8日我搬到cnblog http://www.cnblogs.com/liuning8023/ (搬家的好日子啊)
  7. html 表格输出excel,html中导出excel表格
  8. 华为手机非华为电脑NFC一碰传使用
  9. PaddleWeekly | 这是属于技术宅的七夕特别篇
  10. 考试用计算机反思800字,期中考试反思800字(5篇)