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进行导入初始化,也可以是通过接口进行分发,但是具体的规则必须建立好,同时在基础数据初始化完成后必须做校验,以确保期初的基础数据在各个系统是一致的。

本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理

uat测试用例和sit测试用例_测试理论——SIT测试 和 UAT测试概念相关推荐

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

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

  2. python 测试用例 自动生成目录_如何在python中自动向测试套件添加十几个测试用例...

    我做的是运行单独测试文件的包装脚本: 主包装纸^{}:#!/usr/bin/env python3 # Usage: ./run_tests.py -h http://example.com/ tes ...

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

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

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

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

  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. 软件性能测试报告_软件测试新手请收好:测试基本流程、及如何写好测试用例全在这里!...

    最近,很多小伙伴正在为面试新工作做准备.所以我整理一下软件测试的基本工作流程和一些测试用例编写方法.大致内容如下,希望这些内容对大家有帮助. # 首先,作为测试人员需了解业务,分析需求点 # 为什么测 ...

  8. 测试理论--用正交表设计测试用例

    正交试验设计(Orthogonal experimental design)是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了" ...

  9. 软件测试用例模板和例子_如何编写测试用例?

    一.刚刚从事软件测试职业,如何快速掌握编写测试用例的方法?该怎样编写测试用例呢?专家分析:1.根据需求文档,完全按照需求文档框架/功能描述,根据自己的理解整理为用例.简单来说,就是将需求文档描述的内容 ...

  10. 测试用例的设计方法_因果图

    测试用例的设计方法_因果图 因果图 因果图:简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系. 因果图法是借助图形来设计测试用例的一种系统方法,特别适用于被测试程序具有 ...

最新文章

  1. 这么详细的Python matplotlib底层原理浅析
  2. 专访清华陈文光:搞好CS基础建设再寻思AI专业,读博与否?看个人能力
  3. Spring Boot——Maven使用SystemPath引用本地jar:ClassNotFoundException
  4. 如何使用 C# 在异步代码中处理异常
  5. 判断iframe是否加载完成的方法[转]
  6. 如何在Java中使用表达式_如何在java中计算表达式?
  7. 1+X web中级 Laravel学习笔记——Laravel中的路由
  8. 专题导读:大数据隐私保护
  9. 牛客网暑期ACM多校训练营(第十场)D Rikka with Prefix Sum (组合数学)
  10. 毕啸南专栏 | 对话智联招聘CEO郭盛:未来的社会是透明的
  11. 反转字符串---简单
  12. 百度AI开放平台—简单步骤介绍(多图警告)
  13. 小米手机开发者选项在哪?小米手机怎么打开开发者选项
  14. ArcGis 加载tif,tpk,shp格式文件
  15. 2021年西式面点师(初级)考试平台及西式面点师(初级)模拟考试
  16. OSChina 周一乱弹 —— 妮儿还是把上衣穿上吧
  17. 网易校招编程题目之牛牛分苹果
  18. Spark四大组件包括Spark Streaming、Spark SQL、Spark MLlib和Spark GraphX。
  19. 核芯显卡和集成显卡、独立显卡的区别是什么
  20. 现代优化算法(五): 蚁群算法

热门文章

  1. 微信小程序代码提交步骤
  2. android 人脸识别边框_Android相机预览,指定区域显示预览框,在区域内出现人脸进行人脸识别,并抓拍人脸照片存在本地,CameraX,虹软人脸识别...
  3. Python实战——为人脸照片添加口罩
  4. 罗技g402鼠标宏设置教程
  5. 中缀表达式转后缀表达式详解
  6. java学习笔记宋红康版本-01
  7. Office转换pdf(oppenOffice和jacob两种)
  8. python如何下载os库_python下载os库的方法
  9. c语言手机表白代码大全,C语言表白代码
  10. 麻将游戏软件————附带核心算法