从事软件测试行业,每天面对的被测对象都是软件。如果想要更好的去完成测试工作,首先需要对被测对象,也就是对软件要有基本的了解。
软件
与计算机系统操作有关的计算机程序、可能有的文件、文档及数据。
程序好理解,就是可以操作的产品。比如 wps、微信、QQ、网页等等这些都是程序。比如说需求文档、设计文档、用户手册这些东西都属于文档。在页面中展示的,还有用户输入的内容这些都是数据。
所以说程序、文档、数据这三个结合起来,就是完整的软件。
软件开发流程的演变
流程的演变其实就是软件开发模型的演变过程。
软件开发模型就是在软件开发当中,逐渐总结了很多的经验,这些经验经过提炼总结就变成了开发模型。比如最开始的瀑布模型,后来到了敏捷开发模型,一直发展到现在最火的 DevOps 模型。
下面,分别介绍一下这几种开发模型。
传统瀑布模型
瀑布大家都熟悉,水是从上到下的流下来的。那瀑布模型也是一样,像水流一样从上往下一步一步进行的。
不管做任何事情,分析的工作是肯定是必不可少的。瀑布模型里面也是这样,首先要做的就是需求分析。
需求文档是产品人员从用户那里了解并搜集到的。了解清楚用户想要什么之后,再把它细化成为一个文档。文档会清楚列出系统大致的大功能模块,大功能模块有哪些小功能模块,并且还列出相关的界面和界面功能。有了这个文档,产品的 UI 界面、功能就都确定下来了。
需求分析之后就开始做设计,需要设计的包括两个方面:
- 界面设计:UI 设计师根据需求设计出来前端界面的一个设计稿
-
- 程序设计:设计基本业务处理流程,模块怎么划分,接口的规范等等
- 都设计好了之后,开发人员就可以进入编码的阶段了。
- 在软件编码阶段,开发会根据设计好的方案,把这些方案通过代码去进行实现。
- 实现就相当于开发的代码已经实现了需求里面的这些功能了。
- 实现之后测试人员就可以介入了。这就是瀑布模型的流程,有了代码,再去做测试。
- 测试工作完成之后,再发布上线,并且继续维护产品。
- 在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,当前活动的工作结果需要进行验证。
瀑布模型是线性模型的一种。它在所有的开发模型当中占有重要的地位,是所有其他模型的一个基础。其他的模型都是根据这个线性模型演变过来的。
瀑布模型的优点很明显,开发的各个阶段比较清晰,强调早期计划及需求调查,比较适合需求稳定的产品开发。
但是因为开发模型是线性的,增加了开发的