软件测试之构建测试---BVT
1. 构建的基本流程:
  a. 开发人员在他们的个人计算机上编写源代码文件
  b. 他们将编写好的文件存放在一个统一集中的地方,构建组将所有的源代码编译成可以在计算机上运行的二进制文件,且用安装工具把各种需要安装到服务器上的文件包装成可以安装到不同平台的软件包。
    c. 组合成一个产品
构建的过程就好比一个组装生产线,源代码文件就像是各种大小配件,被存储在一个大仓库里,源代码中,有些在构建过程中还需要再加工。
2. 构建过程:

3. 构建生产线时,软件开发部门,特别是构建测试团队需要考虑什么?
  a. 储存源代码的“仓库”
  b. 可以反复生产的“流水线”
  c. 快速简单的测试以保证产品可以更全面深入地测试和利用系统备份技术来分享测试环境
4. 源代码是构建过程的基础,如何将源代码放入安全可靠的地方?
一般来讲,源代码会被存放在数据库里,运用版本控制系统管理源代码。
5. 版本控制系统概述
它用来帮助我们记录文件更改的过程及细节,一般基于客户端/服务端结构,可以同时为多个开发人员提供服务。

6. 版本控制系统的功能有哪些?
创建新文件、提取文件、存入新版本文件、协调或控制多人对同一个文件的同时修改、记录文件的修改历史且供查询。
7. 构建产品的前提是什么?
建立构建的环境。
8. 在建立构建的环境时需要考虑哪些因素?
  a. 选择构建使用的服务器
  b. 选择构建环境平台
  c. 构建所需要的软件或工具
9. 软件开发流程:
  a. 开发人员编写软件代码,将源代码交给构建组进行构建
  b. 构建组将源代码文件做成可以安装的软件产品,再交给测试组进行测试
  c. 测试组将测试时发现的问题反馈给开发组
  d. 开发组修改代码,再将修改后的代码交给构建组来进行新版本的构建

10. 在设计构建的过程时,一般还要考虑到整体构建及部分构建的需要,设计部分构建逻辑的关键是?
每个源代码文件与构建步骤时间的关系,一般版本控制系统都支持查询阶段间源代码文件的变化,这保证了部分构建的可行性。
11. 自动化部分构建过程:

12. 部分构建组合的好处有哪些?
  a. 如果有关源代码自上一次构建没有改变,构建可以被跳过,使整体构建时间缩短
  b. 部分构建之间如果没有前后顺序的关系,可以让它们同时运行来缩短构建的时间
  c. 部分构建所产生的二进制代码可以直接应用到测试环境来快速检验新的产品功能,测试若通过,部分构建代码会进入下一个版本的测试产品
13. 如何避免让构建过程称为开发的瓶颈?
缩短构建时间和减少构建过程中的问题,如实施自动化构建。
14. 自动化构建的好处?
  a. 保证软件开发过程中能定制比较灵活的构建时间表
  b. 确保每一次构建过程的一致性,没有因为认为的错误而引入产品的缺陷
15. 自动化构建程序的一般性原则:
  a. 在源代码文件改变时,不需要构建程序的改变,即使有不可避免的改变,也应使改变过程尽量容易、简单
  b. 避免把输出或输入的相关参数直接写死在构建代码中,这样,在构建的环境改变时不需要改变构建程序
  c. 经常需要改变的一些变量采用属性文件统一管理,需要改变时只需修改属性文件中的参数值(如*.properties文件,或者*.xml文件)
  d. 使用Template文件和XSLT,在构建运行时依据构建需要生成构建程序文件,减少在更改构建程序文件方面的投入
16. 软件构建的频率如何确定?
根据软件测试的需要来确定。在敏捷开发模型的环境下,提供频繁的测试产品非常关键。最大可能地保证构建的频率是软件敏捷开发模型中的一个很必要的保证。
17. 什么是构建测试?--Build Verification Test
构建测试也称为构建可接受性测试(Build Acceptance Test),一般是在每一个测试产品生成之后,由构建测试团队执行一组最基本的测试用例,来确定做成的测试产品的质量是否达到可以交到各个测试组来进行更全面、更深入的各项测试的要求。
构建测试主要从功能的角度对构建测试产品进行验证,构建测是成功执行时其他测试开始的前提条件,高效的构建测试可以提高整个团队的测试效率。
18. 构建测试的测试用例是如何选择的?
构建测试的测试用例基本都是功能测试用例,相对比较简短,应着重于产品的最基本、最重要的功能,选择原则:
    a. 只测试最重要,最基本的功能
    b. 只测试已经测试过且相对稳定的用例
19. 构建测试有什么作用?
  a. 让开发人员马上知道新版本的源代码是否可以被成功地构建成软件产品
  b. 帮助测试团队避免把时间浪费在不稳定的或者根本不工作的测试产品上
20. 构建测试的步骤:
  a. 安装测试产品及需要的其他软件
  b. 进行产品所需要的系统配置
  c. 测试几个最基本的产品功能
21. 构建测试的内容?
构建测是还包括对构建过程本身的检验,主要内容包括:
    a. 确认构建是否包括了源代码文件新的改变
    b. 检验构建的日志是否有报错
    c. 最后产品文件的大小是否有异常等
22. 构建测试示意图:

23. 构建测试环境时的步骤?
  a. 采用一些能实现系统配置自动化的工具,作为构建测是的一部分,自动安装所有构建测是需要的软件。
  b. 使用一些系统备份和恢复工具:
    i. 备份安装好的构建测试所需软件的系统
    ii. 备份构建环境本身
24. 构建测试的目的是什么?
检验测试产品构建过程是否成功完成,构建出的产品是否具有可测性。
25. 什么是静态测试?
静态测试针对源文件直接做测试分析,发现问题,适用于在源文件中就能发现问题的情形。
26. 常见的静态测试用例有哪些?
语法及拼写检验,网页亲和力检验,Java/Java EE最佳实践或用户化的规则检验
27. 全自动静态测试示意图:

软件测试之构建测试---BVT的更多相关文章
- [转载]软件测试之Web测试经典总结
		转载自:软件测试之Web测试经典总结 基于Web的系统测试在基于Web的系统开发中,如果缺乏严格的过程,我们在开发.发布.实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大.而且, ... 
- 软件测试之WEB测试经典总结
		在Web工程过程中,基于Web系统的测试.确认和验收是一项重要而富有挑战性的工作.基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览 ... 
- 《Google软件测试之道》测试开发工程师
		拖延了将近半年的草稿,断断续续的写完了.之前草草翻看完这本书,关注点主要在TE上,而关于SET的部分则只是浏览,最近后知后觉,又翻出了这本书,重新看了一遍,又有新收获. 就说说Google的SET是如 ... 
- 《Google软件测试之道》基础
		<Google软件测试之道>,一直听朋友讲起这本书,出于琐事太多,一直没机会拜读,最近部门架构觉得我们IT部门的技术太low,就给我们挑选了一些书籍,让我们多看看... 个人的一种学习习惯 ... 
- 《Google软件测试之道》【PDF】下载
		<Google软件测试之道>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382198 内容介绍 每天,Google都要测试和发布 ... 
- 《Google软件测试之道》简介
		<Google软件测试之道>,一直听朋友讲起这本书,出于琐事太多,一直没机会拜读,最近部门架构觉得我们IT部门的技术太low,就给我们挑选了一些书籍,让我们多看看... 个人的一种学习习惯 ... 
- 《Google软件测试之道》摘录
		以下是最近看的一本书<Google软件测试之道>里的一些摘录,收获很多. 1.讨论测试开发比并没有什么意义,如果你是一名开发人员,同时也是一名测试人员,如果你的职位头衔上有测试的字样,你的 ... 
- 《Google软件测试之道》- Google软件测试介绍
		<Google软件测试之道>- Google软件测试介绍 2015-05-21 目录 1 质量与测试 2 角色 3 组织结构 4 爬.走.跑 5 测试类型 相关链接 与Micro ... 
- 《Google 软件测试之道》摘录
		最近刚刚看完<Google 软件测试之道>,受益颇多,遂记录下: 只有在软件产品变得重要的时候质量才显得重要 第一章:谷歌软件测试介绍 角色介绍 SWE(Software Engineer ... 
随机推荐
- 基于JQuery.timer插件实现一个计时器
			基于JQuery.timer插件实现一个计时器,需要的朋友可以参考下. 先去官网下载jQuery Timers插件 ,然后引用到html中.这里是1.2 version 复制代码代码如下: < ... 
- Jquery 实现input回车时跳转到下一个input元素
			/** * 回车时跳转到下一个元素 * @Author HTL * @DateTime 2016-12-30T11:33:25+0800 * @param {[type]} $input [INP ... 
- C#怎样去掉对于用Splict分隔的数组中的空值?
			string[] arrayUserId = userIds.Split(new char[] { ',' },StringSplitOptions.RemoveEmptyEntries); 可以去掉 ... 
- Linux之crontab
			一 cron crond位于/etc/rc.d/init.d/crond 或 /etc/init.d 或 /etc/rc.d /rc5.d/S90crond,最总引用/var/lock/subsys ... 
- Win8.1 远程桌面 凭据无法工作
			最近遇到一个杯具的事情 电脑重装完系统后,发现 win7/server08/server12 无法远程到我的电脑了- 每次连接都显示如下: 灵异的是从 xp 和 server03 能远程进来- ... 
- 关于 Enum.TryParse 方法的一个小坑…
			今天在测试导入数据的时候,突然发现本应该是枚举内容的数据,导入了进了一个很大的不在枚举定义内的数字. 记得当时用的是 Enum.TryParse 方法对导入的文本进行校验的,于是调试了一下,发现果然是 ... 
- [原创]Android自定义View之IndicatorView,显示当前tab页所处位置的View
			概述 Android IndicatorView的灵感来源于SlidingTabView,虽然有句"不重复"造轮子在先,本着练手的目的,还是写了一个功能较为简单的类似view. 其 ... 
- hdu1251在词典里统计前缀出现的个数
			banana band bee absolute acm ba b band abc #include<iostream> using namespace std; //数据结构 s ... 
- 删除Visual Studio Online 中团队项目
			最新文章:Virson's Blog 方法1:使用TFSDeleteProject删除: 1).在本地Visual Studio中登录云端TFS服务器: 2). 连接成功之后,打开VS命令工具,下图红 ... 
- Spring Boot 之 RESRful API 权限控制
			摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “简单,踏实~ 读书写字放屁” 一.为何用RESTful API 1.1 RESTful是什么? ... 
