前言
九月马上就要结束了,这也意味着秋招接近尾声,尽管目前工作有了眉目,但是说不后悔还是假的,后悔疫情期间没有好好复习,后悔自己大学三年没有重视自己的编码能力,其实选择测试这个方向一方面是相比于开发我确实是对测试更感兴趣,另一方面也得承认是自己能力上还有不足,以至于无法踏进开发的大门,不过既然选择了一条路就不想像之前那样靠逃避和敷衍度日,我还是希望自己未来能在这个领域发光发热的,也希望自己有机会成为一名测开工程师!
本篇主要是介绍软件测试的流程以及开发的流程
一、软件生存周期以及模型
1.软件生存周期
1)制定计划
2)需求分析
3)软件设计
4)程序编码
5)软件测试
6)运行维护
2.软件生存周期模型
1)瀑布模型(生命周期法)
(1)系统规划
(2)系统分析
(3)系统设计
(4)系统实施
(5)系统运行和维护
采用结构化思想,开发策略是“自顶向下”的完成管理信息系统的怪话、分析与设计工作,然后“自底向上”的实现
优点:在消除非结构化软件、降低软件的复杂性、促进软件开发工程化方面起了很大作用
缺点:开发周期长,难沟通、效率低。
2)原型法(演化模型)
也称为渐进法或迭代法,要求在获得基本的用户需求后快速建立一个“原型",通过反复评价和反复修改原型系统,逐步确定各种细节,从而完成系统的开发。
特点:用户主导作用,开发效益因为原型的存在而提高,为了快速实现原型需要较高要求的开发环境
缺点:容易出现质量缺陷、开发过程难以控制,不适用于大型系统开发。
3)螺旋模型
螺旋模型结合了瀑布模型和演化模型,并且加入了风险分析,弥补了前面两种方法的不足。
特点:制定计划、风险分析、实施工程、客户评估
缺点:需要相当丰富的风险评估经验和专门知识,且难于支持面向对象的的开发方法。
3.软件的开发方法
1)结构化方法
面向数据流,指导思想自顶向下,逐步求精
2)Jackson方法
面向数据结构的开发方法。
3)面向对象的开发方法
以对象为最基本的元素,是分析问题、解决问题的核心。
4.初步接触软件测试
1)定义
软件测试是有计划有组织的保证软件质量的一种手段,是通过人工或者自动化的手段来检验软件质量的一种方式。
2)目的
软件测试的目的就是在已经规定好的条件下,对软件进行测试,通过测试去发现软件中程序的错误或者是BUG,这样可以让程序员衡量软件的质量,然后对软件是否满足最初的要求或者初衷做出一个正确的判断。
3)软件测试流程
需求分析-编写测试用例-评审测试用例-搭建测试环境-等待提交测试包-部署测试包-冒烟测试-执行测试用例-跟踪BUG进行回归测试-多次执行-测试结束
4)测试计划
测试项–被测特性–测试任务–时间进度–执行者–风险控制
5)测试方案
测试特性–测试方法–测试环境规划–测试工具设计和选择–测试用例设计和选择–测试代码执行方案
6)测试用例
用例编号–用例标题–测试项目–用例级别–预置条件–测试输入–执行步骤–预期结果
7)测试报告
简介–测试概要–分析结果–结论&问题
5.软件测试模型
1)V模型
需求分析对应验收结果、概要设计对应系统测试。。。
V模型尽管可以减少开发时间,但是它将测试环节放在开发后面会忽视对需求分析等的测试。
2)W模型
W模型由两个V模型组成,强调测试伴随着整个开发周期,测试与开发同步进行,但是W模型需要上一个阶段结束再进入下一阶段。