软件测试常见的问题概略
什么是软件测试?
- 测试软件是否满足用户的需求
软件测试和调试的区别?
- 目的不同
- 调试是开发人员查看自己写的代码是否实现自己想让代码实现的功能
- 软件测试是测试人员查看软件是否实现用户的需求
- 角色不同
- 软件测试:黑盒测试工程师,白盒测试工程师,开发人员
- 软件调试:开发人员
- 阶段不同
- 软件调试:开发阶段
- 软件测试:整个软件开发的生命周期
软件开发的生命周期
- 需求
- 计划
- 设计
- 编码
- 测试
- 运行维护
你为什么选择软件测试这个职业?
- 兴趣
- 技能:代码能力
- 抗压力和责任感(讲故事)
你学习了软件开发方面的知识,为什么选择软件测试?
(讲故事)
测试发生在整个软件的生命周期
软件开发的过程
- 用户需求
- 软件需求
- 开发编码
- 测试
- 运行上线
什么是BUG?
- 当软件需求规格说明存在并且合理,软件功能和软件需求不相符,就说明软件错误
什么是测试用例?
- 测试环境
- 测试步骤
- 测试数据
- 预期结果
- 标题
- 重要性
- 功能模块
- 优先级
- 执行方式
设计测试用例的模块
- 功能
- 界面
- 易用性
- 兼容性
- 性能
- 安全性
- 震动测试
开发模型
- 敏捷开发:轻文档,轻流程,重目标,重产出(周期短,团队人员少,交付高质量可用的软件)
- 角色:
- PO,客户的代表方,整理客户需求,形成user story
- SM,项目经理,管理整个开发流程,保证敏捷开发流程的顺利实施
- ST,研发团队,各种技能人员组成,开发,测试,目标高质量可用的软件
- 流程:
- 产品发布会议
- 迭代计划会议
- 每日站会
- 产品演示会议
- 回顾会议
- 角色:
测试模型
- V模型
- 用户需求
- 需求分析与系统
- 概要设计
- 详细设计
- 编码
- 单元测试
- 集成测试
- 系统测试
- 验收测试
- W模型
- 用户需求 验收测试准备
- 需求分析与系统设计 系统测试准备
- 概要设计 集成测试准备
- 详细设计 单元测试准备
- 编码 单元测试
- 集成 集成测试
- 实施 系统测试
- 交付 验收测试
软件测试的生命周期(软件测试的流程是什么)
需求分析
验证需求的合理性,分析需求,细化需求
测试计划
需要的人员,时间,测试目的,测试范围
测试设计/开发
根据需求提炼出来的功能点开发测试用例
测试执行
执行测试用例,BUG,提BUG,回归测试
测试评估
评估本次测试情况,BUG情况(遗留的BUG)测试用例执行情况
如何描述一个BUG(禅道)
测试版本
测试环境
web系统 Windows,Mac,浏览器及其版本号
app 手机品牌型号,系统(Android,iOS)
测试步骤(具体数据)
实际结果
预期结果(和需求一致)
其他附件(错误截图,错误日志等)
BUG的级别
- 崩溃
- 严重
- 一般
- 次要
当开发人员因为一个BUG和测试人员产生冲突时怎么办?
- 先检查自己的描述是否有误
- 站在用户的角度劝说开发
- BUG的定级要有理有据
- 开三方会议(产品经理、测试人员、开发人员一起讨论BUG解决方案)
- 不断提高自己的业务水平和技术能力
具体设计用例的方法
等价类:把输入划分若干个等价类,任意取出一个,若可以通过测试用例,则这个测试用例代表的等价类测试用例通过(适用于用例无法穷举,不能一一进行测试)
- 有效等价类
- 无效等价类
边界值:针对输入和输出的边界进行测试用例的设计
因果图法:输入很多,且有不同的输入嘴和对应不同的输出,这时使用因果图法分析不同输入组合和输出之间的对应关系
因果图设计测试用例的步骤:
- 分析出所有的输入和输出
- 找出输入和输出之间的关系
- 画出因果图
- 把判定表转换成测试用例
恒等
与
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yder6vVc-1633252697808)(/Users/cola/Library/Application Support/typora-user-images/image-20210929001257780.png)]
或
非
场景设计法
- 找出功能点设计
错误猜测法
- 根据测试人员的直觉、知识、经验、判断软件的哪一块有问题,专门针对性的设计测试用例。适合作为一种补充设计测试用例的方法。
正交法
正交法设计测试用例的步骤:
- 找出所有输入变量,确定因素数
- 确定变量的取值,确定水平数
- 确定正交表的行和列
- 根据正交表的性质填写正交表
- 把正交表的每一行对应写成一个测试用例
- 补充认为重要的但没有体现在正交表中的测试用例
根据正交性选出最优的水平组合进行实验,用实验的结果来分析这个测试用例的结果
正交表的性质:
- 每一列不同数据出现的次数一样多
- 任意两列各数据组合出现的次数一样多
按照开发阶段划分
- 单元测试(模块)
- 集成测试(接口)
- 系统测试(相当于黑盒测试)
- 对功能,性能,易用性,安全性,兼容性,可靠性,可移植性等
- 回归测试:属于系统测试,当系统引入新代码的时候,进行回归测试
- 回归测试的策略:自动化测试
- 冒烟测试:对系统主要功能和核心流程进行测试
- 验收测试
按照实施组织区分
- α测试
- β测试
- 第三方测试
按照是否运行划分
- 静态测试(看代码)
什么是黑盒测试和白盒测试?
黑盒测试:把软件当成一个黑色的盒子,不关心其内部结构,逻辑,功能的实现,只关心它的输入和输出
- 测试方法:
- 等价类划分
- 因果图
- 错误猜测
- 边界值
- 场景法
- 按照开发阶段划分:
- 集成测试
- 系统测试
- 验收测试
- 测试方法:
白盒测试:把软件当成一个白色透明的盒子,测试软件内部代码的结构、逻辑、功能是否满足用户需求
测试方法:
- 语句覆盖
- 循环覆盖
- 逻辑覆盖
- 路径覆盖
- 条件覆盖
- 判定覆盖
- 条件组合
- 判定组合
软件测试常见的问题概略相关推荐
- 浅谈软件测试常见概念【小鸡崽可以看看反正不亏】
软件产品的质量模型 功能性:能够满足明确和隐含要求的功能 可靠性:能够处理异常情况,在错误中很快恢复 易用性:易懂.易学.易用.漂亮好看 效率性:占用少量的资源,提供适当的性能 维护性:是指产品可被修 ...
- 【每日一刷系列】2022软件测试常见的面试题
很多初入软件测试岗位的朋友,想尽快通面试关,第一时间拿到offer,于是很多人开始全网找软件测试的面试题,但因为相关经验又比较少,所以不知道哪些面试题面试官最喜欢问,今天小海姐就给大家把这些容易问到的 ...
- 软件测试常见笔试题总结
http://t.csdn.cn/2fKts 软件测试常见笔试题总结 01 mysql 1.1 数据库操作 1.2 表结构操作 1.2.1 创建表 1.2.2删除表 1. 删除单张表: 2. 删除多个 ...
- 软件测试常见英文单词汇总
一.专业名词篇 A: Automated Test 自动化测试 Alpha Test a测试 Acceptance Test 验收测试 Agile Testing 敏捷测试 Accuracy Test ...
- 【软件测试常见Bug清单】
软件测试中,bug的类型有很多种,比如:代码错误.界面优化.设计缺陷.需求补充和用户体验等: 一般情况下,需求补充和设计缺陷比较好区分,但是代码错误.界面优化和用户体验区分不是很明显: 下面我们就来说 ...
- 软件测试常见的linux场景,干货——软件测试工程师linux的10大场景命令使用
前言: 由于Linux在服务器领域应用非常广泛,有很多开源和成熟的软件,目前大多数的应用后台都是部署在linux上的,熟悉Linux操作系统和相关命令,可以加深我们对软件的架构和运行机制的了解,也可以 ...
- 软件测试常见的问题(理论题)
目录 写好测试用例的关键 /写好用例要关注的维度? 软件测试的分类? 测试流程是什么? 测试的原则是? 软件测试的黑盒白盒灰盒的区别? 黑盒测试白盒测试灰盒测试 软件测试的开始条件和结束条件分别是什么 ...
- 软件测试常见概念(软件生命周期、软件开发模型、软件质量模型、软件缺陷管理、软件测试概述、软件测试分类、软件测试与软件开发、软件测试原则、黑盒测试方法、白盒测试方法、性能测试)
文章目录 1. 软件概述 1.1 软件生命周期 1.2 软件开发模型 1.2.1 瀑布模型 1.2.2 快速原型模型 1.2.3 迭代模型(增量模型或演化模型) 1.2.4 螺旋模型 1.2.5 敏捷 ...
- 软件测试常见的状态码,软件测试-面试总结
1.测试过程中需要考虑哪些异常情况下的测试(原问题是如何登录界面的异常测试) 测试时需要考虑的通用异常有: 网络环境:网络中断,网络切换,丢包延迟 服务器资源: 服务器无响应,响应慢,无法连接服务器 ...
最新文章
- c++ memset 语言_自学C语言不知道从哪儿下手?学习框架都帮你列好了!
- jTable 滚动条
- Bootstrap相关优质项目学习清单
- 【Android 逆向】Dalvik 函数抽取加壳 ( 类加载流程分析 | native 函数查询 | dalvik_system_DexFile.cpp#defineClassNative 函数 )
- Log4j2异步日志背后的数字
- 在java中将数据信息写入本地文本(1)
- Exception in thread main org.apache.thrift.transport.TTransportException: Could not create ServerS
- Lachesis Shield 设计上的抉择
- std::tie简单介绍
- 表单校验---struts2
- html5 banner特效,HTML5特效库 CSS3遮罩banner动画特效源码
- map的详解及常见面试题
- Java多线程:线程休眠
- macOS Big Sur新增小组件介绍
- linux ubuntu系统远程连接linux ubuntu
- 闹钟流程_自考专升本1月份统考粤康码申报流程
- 关于so文件你需要知道的知识
- 蓝牙模块 hc06 linux,arduino教程——蓝牙模块hc05和hc06的相互连接
- 杜兰大学计算机专业,杜兰大学计算机科学
- Ubuntu 20.04双拼输入法