初窥项目构建

简介: 初窥项目构建

原文出自:

http://www.cnblogs.com/Ribbon/archive/2015/05/22/4517125.html

1.项目构建基本流程

  • 开发人员在他们的个人计算机上编写源代码文件
  • 他们将编写好的文件存放在一个统一集中的地方,构建组将所有的源代码编译成可以在计算机上运行的二进制文件,且用安装工具把各种需要安装到服务器上的文件包装成可以安装到不同平台的软件包。
  • 组合成一个产品

构建的过程就好比一个组装生产线,源代码文件就像是各种大小配件,被存储在一个大仓库里,源代码中,有些在构建过程中还需要再加工。

2.构建过程

4f1e7e848381c83df80405cb566202fd.png

3. 构建生产线时,软件开发部门,特别是构建测试团队需要考虑什么?

  a. 储存源代码的“仓库”

  b. 可以反复生产的“流水线”

  c. 快速简单的测试以保证产品可以更全面深入地测试和利用系统备份技术来分享测试环境

4. 源代码是构建过程的基础,如何将源代码放入安全可靠的地方?

  一般来讲,源代码会被存放在数据库里,运用版本控制系统管理源代码。

5. 版本控制系统概述

  它用来帮助我们记录文件更改的过程及细节,一般基于客户端/服务端结构,可以同时为多个开发人员提供服务。

2ab13d8963ebfa96ae16d0ecaebe8ef1.png

6. 版本控制系统的功能有哪些?

  创建新文件、提取文件、存入新版本文件、协调或控制多人对同一个文件的同时修改、记录文件的修改历史且供查询。

7. 构建产品的前提是什么?

  建立构建的环境。

8. 在建立构建的环境时需要考虑哪些因素?

  a. 选择构建使用的服务器

  b. 选择构建环境平台

  c. 构建所需要的软件或工具

9. 软件开发流程:

  a. 开发人员编写软件代码,将源代码交给构建组进行构建  b. 构建组将源代码文件做成可以安装的软件产品,再交给测试组进行测试

 c. 测试组将测试时发现的问题反馈给开发组

  d. 开发组修改代码,再将修改后的代码交给构建组来进行新版本的构建

0328e8eee317f5ce3b5e9898b324a30d.png

10. 在设计构建的过程时,一般还要考虑到整体构建及部分构建的需要,设计部分构建逻辑的关键是?

  每个源代码文件与构建步骤时间的关系,一般版本控制系统都支持查询阶段间源代码文件的变化,这保证了部分构建的可行性。

11. 自动化部分构建过程:

d12ab281efa119abbbb8007adb0519a3.png

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),一般是在每一个测试产品生成之后,由构建测试团队执行一组最基本的测试用例,来确定做成的测试产品的质量是否达到可以交到各个测试组来进行更全面、更深入的各项测试的要求。

   如无大的问题,就可以进行相应的功能测试。BVT优点是时间短,验证了软件的基本功能。缺点是该种测试的覆盖率很低。因为运行时间短,不可能把所有的情况都测试到。BVT测试也被称为“冒烟测试”。

     构建测试主要从功能的角度对构建测试产品进行验证,构建测是成功执行时其他测试开始的前提条件,高效的构建测试可以提高整个团队的测试效率。

18. 构建测试的测试用例是如何选择的?

   构建测试的测试用例基本都是功能测试用例,相对比较简短,应着重于产品的最基本、最重要的功能,选择原则:

    a. 只测试最重要,最基本的功能

  b. 只测试已经测试过且相对稳定的用例

19. 构建测试有什么作用?

    a. 让开发人员马上知道新版本的源代码是否可以被成功地构建成软件产品

    b. 帮助测试团队避免把时间浪费在不稳定的或者根本不工作的测试产品上

20. 构建测试的步骤:

    a. 安装测试产品及需要的其他软件

 b. 进行产品所需要的系统配置

 c. 测试几个最基本的产品功能

21. 构建测试的内容?

构建测是还包括对构建过程本身的检验,主要内容包括:

            a. 确认构建是否包括了源代码文件新的改变

    b. 检验构建的日志是否有报错

    c. 最后产品文件的大小是否有异常等

22. 构建测试示意图:

82fe3682eb5ebfec5cd437c66f4470fb.png

23. 构建测试环境时的步骤?

       a. 采用一些能实现系统配置自动化的工具,作为构建测是的一部分,自动安装所有构建测是需要的软件。

  b. 使用一些系统备份和恢复工具:

    i. 备份安装好的构建测试所需软件的系统

    ii. 备份构建环境本身

24. 构建测试的目的是什么?

 检验测试产品构建过程是否成功完成,构建出的产品是否具有可测性。

25. 什么是静态测试?

静态测试针对源文件直接做测试分析,发现问题,适用于在源文件中就能发现问题的情形。

26. 常见的静态测试用例有哪些?

  语法及拼写检验,网页亲和力检验,Java/Java EE最佳实践或用户化的规则检验

27. 全自动静态测试示意图:

1d85416459f8fd8c8b5573d2cc09712c.png

目录
相关文章
|
7月前
|
缓存 Go 开发者
依赖管理 | 青训营
依赖管理 | 青训营
|
4月前
|
JavaScript 前端开发
构建工具到底是什么呢? 一篇帮你搞懂
构建工具到底是什么呢? 一篇帮你搞懂
63 0
|
前端开发
前端学习笔记202305学习笔记第二十三天-重构项目依赖安装
前端学习笔记202305学习笔记第二十三天-重构项目依赖安装
74 0
|
监控 Java 测试技术
JAVA项目开发从0到1的心路历程
JAVA项目开发是一个复杂而有挑战性的过程,它需要经历从项目规划到需求分析、设计、编码、测试、部署和维护等多个阶段。下面我将分享一下从0到1的心路历程。
457 0
|
Ubuntu Java Apache
Maven官宣:干掉Maven和Gradle!推出更强更快更牛逼的新一代构建工具,炸裂!
相信作为Java开发者的你早已经受够了maven的编译缓慢,但是又由于历史包袱、使用习惯等问题暂时切换不了其他更快的构建工具,这里笔者将给你介绍一款更快的maven——maven-mvnd。
Maven官宣:干掉Maven和Gradle!推出更强更快更牛逼的新一代构建工具,炸裂!
|
设计模式 Java
从头捋一遍Java项目中的五大设计原则,就不信你学不会!(中)
从头捋一遍Java项目中的五大设计原则,就不信你学不会!(中)
从头捋一遍Java项目中的五大设计原则,就不信你学不会!(中)
|
架构师 NoSQL Java
50个java项目实战,学会这些大神之路不再遥远
  1、最新大神JAVAEE就业实战课程下载 超150G实战JAVAEE 基础部分   2、2021 java300集大型项目实战课程 尚学堂java基础到精通视频教程   3、58系统高级架构师带你实战高可用架构设计课程   4、Activiti6.0工作流引擎深度解析与实战   5、Elasticsearch ELK分布式全文检索入门视频教程   6、Elasticsearch顶尖高手系列-核心知识篇高手进阶篇视频   7、Gradle3.0自动化项目构建技术精讲+实战
470 0
|
Java Maven
印象最深的一个bug-maven父子模块依赖关系
印象最深的一个bug-maven父子模块依赖关系
1191 0
|
Java 开发者 容器
从头捋一遍Java项目中的五大设计原则,就不信你学不会!(下)
从头捋一遍Java项目中的五大设计原则,就不信你学不会!(下)

相关实验场景

更多
下一篇
DataWorks