目录
[1. 什么是软件测试?](#1. 什么是软件测试?)
[2. 软件测试的岗位](#2. 软件测试的岗位)
[3. 测试与开发的区别](#3. 测试与开发的区别)
[4. 优秀测试人员需具备的素质](#4. 优秀测试人员需具备的素质)
[3.1 需求的定义](#3.1 需求的定义)
[3.2 需求文档示例(注册场景)](#3.2 需求文档示例(注册场景))
[4.1 软件的生命周期](#4.1 软件的生命周期)
[4.2 各阶段简单理解(类比造房子)](#4.2 各阶段简单理解(类比造房子))
[5.1 瀑布模型](#5.1 瀑布模型)
[5.2 螺旋模型](#5.2 螺旋模型)
本篇为测试开发/软件测试基础第二篇,聚焦面试与笔试常考概念:什么是需求、开发模型(瀑布/螺旋)、软件生命周期,以及测试岗位认知。
一、课前思考:测试开发基础认知
1. 什么是软件测试?
验证产品的特性是否符合用户的需求。
2. 软件测试的岗位
软件测试工程师:围绕测试质量要求展开。
软件测试开发工程师:存在技术业务(如开发效率工具等),同样围绕测试质量要求展开。
3. 测试与开发的区别
面试常问"为什么找测试不找开发"。核心在于两者目标与思维方式不同,测试更关注质量风险、边界与用户场景。
4. 优秀测试人员需具备的素质
(面试中可结合细心、逻辑、沟通、业务理解、风险意识来答。)
二、本节课程目标(笔试/面试指向)
需求的概念:面试可能会考。
开发模型:大厂笔试题基本类似,同一套试卷,含选择题、判断题、填空题、简答题、编程题。
测试模型:大厂笔试题基本都是编程题(本节重点在前两者)。
三、什么是需求?
3.1 需求的定义
多数软件需求分两类:
用户需求:偏业务语言,较抽象。
软件需求/功能需求:经分析拆解后的具体规格。
没有经过合理评估,通常来说就是"一句话"。
需求是测试人员和开发人员的工作依据。
示例:
用户说"对数组进行排序" → 需评估:什么数组?整型数组?升序降序?选择什么排序算法?......
用户说"我想谈恋爱"(用户需求) → 软件需求可拆为:社交认识朋友、找喜欢的人、聊天、表白、在一起等。
3.2 需求文档示例(注册场景)
从用户需求"我想谈恋爱/社交"到软件需求,可落地为:
平台支持账号注册。
用户信息:账号密码、手机号/邮箱、性别、年龄等输入限制与校验。
用户协议:同意/不同意。
注册失败原因提示。
验证码、密码强度、有效期等约束。
注意:用户需求不能直接作为开发和测试依据,针对用户需求,产品经理需要做需求分析(技术可行性、市场可行性、成本投入和收益点等),转变为软件需求文档。
四、开发模型(即产品的开发流程)

这里的"模型"实际上指的是流程,所以开发模型实际上是(产品的)开发流程。
4.1 软件的生命周期
生命周期开始 → 需求分析 → 计划 → 设计 → 编码 → 测试 → 运行维护 → 生命周期结束
类比:建房子/人的生命周期(婴幼儿→少年→青年→中年→老年→生命结束)。
游戏案例:QQ飞车、QQ图标等版本迭代。
4.2 各阶段简单理解(类比造房子)
需求分析:做什么、解决谁的问题,类比为什么建、给谁住。
计划:时间、资源、工时,类比计划工期。
设计:技术方案/架构/详细设计,类比图纸、水电、结构。
编码:实现功能,类比施工建造。
测试:验证质量,类比验收检查。
运行维护:上线后修复与优化,类比入住后维修维护。
目标由一个个任务组成,每个任务完成即推进目标。
五、常见开发模型
5.1 瀑布模型

线性推进:需求 → 计划 → 设计 → 编码 → 测试 → 运行维护。
"瀑布模型是其他模型的基础框架。"
++特点:++
线性结构,每个阶段只执行一次。
适用于需求固定的小项目(如购物软件某半年/一年周期、早期百度YY直播等)。
最大缺陷:
缺陷往往到测试阶段才被发现,导致前期隐藏问题在后期集中爆发,可能让前期大量工作重做。
适用场景:需求固定的小项目。
5.2 螺旋模型

强调风险分析,循环迭代:需求分析/计划 → 设计/风险分析 → 编码/实施 → 测试/评估,多轮循环。
类比:"设计图"不断修正,风险驱动。
++优点:++
强调严格的全过程风险管理(风险管理)。
强调各开发阶段的质量。
提供风险评估和原型。
++缺点/注意:++
项目中可能存在的风险管理人员技能要求高。
需求/人员/资金/时间投入可能增加成本。
适用场景:规模大、复杂度高、风险大的项目。(如百度搜索复杂功能迭代场景)
六、面试/笔试速记点
-
软件测试目的:验证产品特性是否符合用户需求。
-
需求是开发和测试的依据;用户需求 ≠ 软件需求,需经评估与分析。
-
软件生命周期:需求分析、计划、设计、编码、测试、运行维护。
-
瀑布模型:线性、一次性、适合需求固定小项目;缺陷发现晚。
-
螺旋模型:迭代+风险分析;适合大型、复杂、高风险项目。
-
大厂笔试常考选择/判断/填空/简答/编程,概念题多来自需求与模型。
------测试开发基础第二篇,笔记整理。