软件测试--基础概念
软件测试--基础概念
- 1. 软件测试基本概念:
- 2. 软件测试和开发的区别是什么?
- 3. 一个测试人员所具备的素质?
- 4. 什么是需求?
- 5. 什么是bug?
- 6. 什么是测试用例?
- 7. 开发模型
- 7.1 软件的生命周期
- 7.2 瀑布模型
- 7.3 螺旋模型
- 7.4 迭代, 增量模型
- 7.5 敏捷模型
1. 软件测试基本概念:
软件测试定义:验证软件功能是否满足用户的需求。
目的:验证软件有或没有问题。
原则:顾客就是上帝。以客户为中心,遵循软件测试的规范、流程、标准和要求。
2. 软件测试和开发的区别是什么?
软件测试和软件开发中的调试的区别
(1)目的不同:
- 软件测试的目的: 测试人员根据需求去判断软件是否满足用户需求
- 调试的目的: 软件开发人员为了验证程序是否可以满足他想让程序实现的功能
(2)角色不同:
调试: 开发人员
测试: 测试人员, 开发人员(单元测试), 用户
(3)阶段不同:
- 调试: 软件开发的阶段
- 测试: 整个软件开发的生命周期
测试左右移:
- 测试左移: 需求前调研阶段和需求阶段, 测试人员参加
- 测试右移: 产品上线后, 系统监控, 日志记录和分析
3. 一个测试人员所具备的素质?
- 软件测试这个岗位的兴趣
- 用能力, 编程能力, 懂几门编程语言, 沟通, 团结协作(team work)
- 责任感和承受一定的压力
- 思维能力 发散性思维, 逆向思维
4. 什么是需求?
用户需求: 用户想要软件实现功能 boss/实际用户(反馈和要求) / 公司的业务人员 (针对公司的内部系统)
软件的需求: 用户需求的具体化, 是用户需求具体的实现细节, 开发人员要根据软件需求进行软件开发
软件开发中的需求: 需求就是满足用户的期望或者合同规定的标准, 规范, 文档所需要的条件和权限
软件需求是用户需求转化而来的
5. 什么是bug?
吃鸡例子
一局吃鸡, 已经进了决赛了, 你一身神装, 离吃鸡只有一步之遥, 但是游戏崩溃了~~~
凡是实现效果和需求不相符的都可以认为是BUG.
BUG的后果: 用户流失, 绩效血崩.
BUG的处理: 生产环境上的问题, 要第一时间回滚, 再慢慢定位.
BUG的态度: 心存敬畏, 但是不要害怕. 程序猿身上背负的BUG, 就是一个老兵身上的疤痕, 最值得骄傲的军功章
分为两种情况
- (1)当软件需求规格存在并且合理, 如果软件功能和软件需求规格不想符合, 我们就说是软件错误(BUG)
- (2)当软件需求规格不存在的时候, 用户需求存在并且合理, 软件功能和用户需求不相符, 就是软件错误(BUG)
6. 什么是测试用例?
举个例子:
比如男朋友一直打游戏,女孩子就会问男朋友,:我和游戏谁重要的送命题。来测试男朋友是否爱自己。女孩子一般希望男朋友在游戏和自己之间选择自己。
在这个小测试中:
人物(一对情侣),场景(游戏中),问题(输入),预期结果(输出)等构成的集合就叫做测试用例。
** 测试用例(Test Case)是为了实施测试而向被测试系统发起的一组集合, 这组集合包括测试数据, 测试步骤, 测试平台, 预期结果**
7. 开发模型
7.1 软件的生命周期
软件生命周期是指从软件产品的设想开始到软件不再使用而结束的时间。 如果把软件看成是有生命的事物,那么软
件的生命周期可以分成6个阶段,即需求分析、计划、、设计、编码、测试、运行维护。
7.2 瀑布模型
优点: 各个阶段比较独立, 看中需求分析和软件测试;
缺点: 无法适应需求变化; 测试到编码后才介入, 导致前期的缺陷无法及时发现, 无法及时修正.
适用的项目: 适用于需求稳定的项目
7.3 螺旋模型
优点: 强调软件质量; 每一次迭代进行严格的风险分析, 提供讨论项目是否有必要进行下去的机会
缺点: 引入风险管理, 会投入大量人力物力
适用的项目: 前期需求不是很明确, 并且有风险, 项目比较庞大的系统开发;
7.4 迭代, 增量模型
一个系统的四个功能, A 模块, B 模块, C 模块, D 模块, 两周时间完成
迭代模型:
- 第一周,开发人员完成 A B C D 四个模块基础功能,
- 第二周, 在基础功能智商进行细化和完善;
增量模型:
- 第一周, 完成 A 模块, B 模块,
- 第二周, 完成 C模块 , D 模块
迭代模型抗风险能力更强
7.5 敏捷模型
特点: 轻文档, 轻流程, 重目标, 重质量 ,拥抱变化, 可以使用需求的变化
目标 : 交付一个高质量可用的软件
scrum 流程
简称 | 全拼 | 中文名 | 责任 |
---|---|---|---|
PO | product owner | 产品经理 | 把客户的需求整理成 user story ,课表的代表方 |
SM | scrum master | 项目经理 | 负责保证整个敏捷流程的顺利实施 |
ST | scrum Team | 研发团队 | 目标是交付一个高质量可用的软件 |
scrum 流程
- 发布计划会议
- 迭代计划会议
- 开发过程中, 每日站会
- 产品演示评审会
- 回顾会议
软件测试--基础概念相关推荐
- 软件测试基础——概念篇
一.软件概念以及分类 软件的概念 软件就是指用以指挥计算机运行活动所使用的程序 软件的分类 软件可以分为系统软件和应用软件 系统软件 系统软件是指管理.控制和维护计算机及外部设备,提供用户与计算机之间 ...
- 【软件测试】基础-概念篇
软件测试基础-概念篇 记录 - 慕课网 imooc 软件测试基础-概念篇 简介:系统介绍什么是软件测试,从软件测试的定义.原则以及测试阶段.测试模式.测试手段和测试类型分别详细说明软件测试中的各种测试 ...
- 软件测试基础【一篇足矣】
目录 软件测试基础概念 1.什么是软件测试?其目的是什么?你怎么看待软件测试? 2.软件测试的生命周期?各阶段对应的工作? 3.测试计划和测试方案的内容和区别? 4.需求评审的内容?参与人员?测试人员 ...
- 软件工程与软件测试基础知识_这是我在软件工程工作九个月中学到的知识
软件工程与软件测试基础知识 I've been working for about nine months at Dexter as a software developer. I wrote a b ...
- 软件测试基础知识——适合初学者
软件测试基本概念 1.软件=程序+文档,软件测试=程序测试+文档测试. "程序"是指能够实现某种功能的指令的集合,"文档"是指软件在开发.使用和维护过程中产生的 ...
- 测试培训大纲第一课时,软件测试基础(培训待续中....)
一.软件测试基础 1.软件测试的概念 1.1软件测试的定义与目的 为什么要测试? 测试的目的是什么? 测试的内容是什么? 主要内容:发现(discover)验证(verification)和确认(va ...
- 运维之DNS域名解析服务基础概念与Bind9安装
0x00 前言简述 基础概念 基础术语 记录类型 0x01 DNS服务介绍 原理流程 实验目标 0x02 DNS服务之Bind9 Ubuntu 安装 CentOS 安装 Docker 容器 1) 源 ...
- 软件测试基础知识大全【乐搏TestPRO】
在很多人的认知里,软件测试入门门槛低,简单易学.确实,软件测试基础知识更偏向于理论方法的学习,及部分常用工具的学习. 接下来的70个基础知识讲解,弄明白后这些问题后,软件测试入门也基本掌握了.本篇共分 ...
- 软件测试学习笔记与思考(1)---软件测试基础
这学期开始学习软件测试,课本是软件测试(慕课版)郑炜,刘文兴,杨喜兵,王文鹏,吴潇雪主编的. 本来没有打算写相关博客的,但是在做课后习题时想到做测试必然少不了思考,从不同的角度分析,于是就打算用博客来 ...
最新文章
- 如何看待那些互相矛盾的论文?
- s5-11 距离矢量路由选择协议
- BZOJ 1087状态压缩DP
- Java WebService 接口的简单生成和调用
- composer install 时遇到 Composer\Downloader\TransportException ...
- 年轻人原地过年,也不忘搞钱
- TF32A09硬件加密芯片
- form的get与post方式的区别(转)
- 综述 | 知识图谱技术综述(下)
- 57. Attribute specified 属性
- 《大型网站技术架构》阅读笔记
- 【转】TabHost详解
- 【量化金融】利用DCF估值模型实现股票价值监测
- 基于STM32单片机的智能电表无线WIFI插座APP电压电流检测方案原理图程序设计
- 史上最全机器学习资源整理
- Tomcat开启APR模式并设置Tomcat为开机自启动服务
- python中的row函数均方_均方位移python(Mean square displacement python)
- 天才小毒妃 第966章 不死不灭的痛苦
- Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇)
- 初识Json浅扯ajax