测试用例基础 12_02

2023-11-16

回顾

测试用例怎么写?

测试点:不包含测试步骤,只有测试什么,只有测什么功能,预期的结果。

为了提高作业的效率 ,测试用例只写测试点

——直接写在Xmind 或者Excel

效率会比较高

面试的时候,

就直接说测试点 是为了有限的时间;

完整的测试用例:

——————————————————————————-——————

概念篇

 

//等到春招的时候进行复习或者随时可以达到最高的效率//

1.需求:

用户需求 :(boss、业务人员、用户、甲方 )需求的来源(根源);

用户的需求是需要验证和分析,去掉不合理的需求;

软件需求:由用户的需求转化而来,是用户需求的细化。是具体的实现细节。

需求是软件测试人员进行测试的依据。

什么软件测试?**

软件测试是测试人员判断系统的功能是否满足需求;

测试人员应该尽早的介入需求,有助于我们深刻的了解需求;

2.什么是bug?(软件错误)

软件需求规格书存在并且合理,软件功能的和软件需求规格说明书不相符,说明就是软件错误

软件需求规格书不存在,则判断用户需求是否合理,若不符合用户的需求就是bug

3.软件开发的五个模型

瀑布模型、螺旋模型、迭代增量模型、敏捷模型;

敏捷模型:

人员组成:PO SM ST

流程

1.发布计划会 2. 迭代计划会 3. 每日站会 4.产品演示会 5.项目总结,优化。

(轻文档、轻流程、重目标、重产出、团队小,周期短)

4.软件测试的两个模型

v模型——左边的开发的每一个阶段 与 测试的每一个阶段对应起来,是测试每一个阶段的依据 ;

——优点:特点也就是优点

——缺点:串行,瀑布模型的变体

————1)不能适应需求的变化

————2)测试在后期才介入,导致前期的错误没有办法及时纠正,风险到项目后期才会发现,失去及时修改的机会

w模型

——特点:测试在需求分析阶段就进行介入,双V模型,开发和测试是并行的。也同样是串行;

——优点:测试介入比较早项目前期的问题可以及时发现,可以在一定程度上保证产品的质量。

——缺点:串行的过程,阶段性强,不适应于敏捷开发

5.测试用例?(什么是测试用例)

测试用例解决了: 测什么 怎么测

向被测试软件发起的一组集合,这组集合包括

——测试环境,测试数据,测试步骤,预期结果(标题、重要性、优先级、功能模块、测试方法);

————————————————————————————————————-

软件测试的教程 第三节 基础篇

1.软件测试的生命周期?(第一个生命周期——软件开发)

软件开发的生命周期(流程):需求分析、开发计划、设计、编码、测试、运行维护;

软件测试的生命周期(流程):需求分析——测试计划——测试设计/开发——测试执行——报告评估

需求分析:深入了解需求 分析需求 验证需求、去掉不合理的需求、从需求之中提取出测试点

测试计划: 时间 人员 目的 测试范围

测试设计:测试用例的开发或者编写、开发人员在同步进行开发工作;

测试执行:功能已经开发完成 、测试人员要执行测试用例去验证需求是否实现 发现bug需要进行记录,开发人员进行修改——

——测试人员发现的bug是记录在另外一个系统之(管理软件开发过程)开发人员也可以登录,可以看见测试人员提出的BUG;

报告评估:测试工作结束之后、写测试分析报告、

——发现了什么BUG 修改了多少BUG 遗留BUG 上线风险

——————————————————————

当新开发功能的时候,引入了新的代码,新引入的代码很可能会影响之前的功能。

——回归测试:系统引入新的代码的时候,为了防止新代码对老功能产生影响,需要验证相关联的功能;

————————————————————————————————————、

2.如果发现一个bug,如何描述?

例如:邮箱的登录界面 BUG: 在注册功能上 需要密码的长度是 8-16个字符,注册是输入1个字符,也注册成功了?

 

使用文字进行描述该bug:

标题: 密码长度是8-16个字符,但是现在输入一个字符,也可以注册成功;


1)版本号:代码的版本号 V1002

2)测试环境:Chrome 浏览器 版本号 9696969696

操作系统:Windows 10 ,电脑的品牌型号

3)测试数据:

邮箱 :15487874212@163.com

密码:1

手机号:15902955121

4)测试步骤:

1)打开邮箱注册页面

2)输入 邮箱账户,密码,手机号

3)点击 同意条框

4)点击注册

5、实际情况:注册成功

6、预期结果:注册失败,提示“密码长度不符合规格”

BUG的级别,附件(截图、错误日志)

——————————————————————————————————

关于版本号:

 

描述bug的要素:

代码的版本号;测试环境;测试数据;预期结果;实际结果;附件(错误截图,错误日志);等级;标题

3.BUG的描述

例如:

-和别的妹子约炮(崩溃)

-和别的妹子搞暧昧(严重)

-和别的妹子吃饭饭(一般)

-多看了妹子几眼(次要)

崩溃:已经影响系统的运行,死机、崩溃、死循环 页面一级重要的菜单无法使用,数据库查询死循环,

内存泄露。

当线上出现崩溃级别的BUG,如何进行快速的修复?——回归版本,重新发布之前的稳定的版本;

严重:系统还可以运行,但是不稳定了,继续运行下去会产生严重的后果

例如:直播画面的失真、数据泄露、在日志当中不可以出现用户的手机号卡号等私密的信息

一般:次要,不影响系统的稳定性,但会影响用户体验

次要(建议):

界面性,对用户使用的系统没啥影响 ,影响用户的体验使用。

————————————————————————————

抽烟区

-————————————————

4.BUG 的生命周期

不同的公司、每一个工具对bug'的生命周期的定义都是不一致的

测试人员应该紧跟每一个bug整个生命周期,从OPen-Closed的所有状态。

bug状态转换图

 

new是发现一个bug

open是确认是bug ,并且认为需要进行修改,指派给相应的开发人员。

Fixed:开发人员进行修改后标识修改状态,有待测试人员的回归测试验证

Rejected:如果认为不是bug,则拒绝修改。

Delay:如果认为不需要修改或者暂时不能修改,则进行延后修改;

Closed:修改的=状态的=的BUG经过测试人员的回归检测验证通过,则关闭BUG

Reopend:如果验证后BUG仍然存在,则需要重新打开bug,进行重新修改

5.当开发人员和测试人员产生冲突的时候改造怎么办?

沟通能力,应变能力,团队协作能力)

1) 检查自身,看是否描述清楚了这个BUG

2)站在用户使用的角度,去说服开发人员

3)BUG级别 定义要符合公司的规定,要有理有据;

4)测试人员,要不断提高自己的业务水平和技术能力。不但可以发现bug,还可以定位BUG,提出解决方案。‘

5)可以和产品经理,开发人员一起进行讨论,讨论BUG的解决方案。

last but not least ,

测试人员的目的是为了提高开发人员开发软件的质量,和软件开发人员目标是一致的

,为了交付一个高质量可用的软件。

关于上一次的qq登录界面的此时用例的练习

 

在界面上面出现的每一个元素都应该照顾到。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

测试用例基础 12_02 的相关文章

  • 如何使用retrofit2动态设置超时?

    public class Router private static Retrofit retrofit null public Retrofit getRetrofit if retrofit null OkHttpClient clie
  • 检查发送到网页的请求数

    我正在编写一个 Java 多线程应用程序 它可以访问不同 Web 服务器的数百万个 有时甚至数十亿个 URL 这个想法是检查这些 URL 是否给出有效的 200OK 响应或 404 其他代码 我如何知道我的程序是否不会在他们的服务器上造成高
  • Java中的文字赋值[重复]

    这个问题在这里已经有答案了 定义上有什么区别 double example 23 1d or double example 23 1 为什么long float double可以以l f d结尾 之间没有区别double example 2
  • Java 流 - 按嵌套列表分组(按第二顺序列出)

    我有以下数据结构 每个学生都有一个州列表 每个州都有一个城市列表 public class Student private int id private String name private List
  • Java Spark DataFrameReader java.lang.NegativeArraySizeException

    学习 Spark for java 并尝试阅读 csv文件为DataFrame使用DataFrameReader 甚至不能得到一个超级简单的 csv文件工作 因为我不断收到异常java lang NegativeArraySizeExcep
  • 从字符串生成密钥?

    我需要从字符串生成一个密钥 以便我始终可以从同一字符串创建相同的密钥 具体来说是一个Key对象 这样我就可以用它来创建Cipher进而创建SealedObject 这在 Java 中可行吗 我应该考虑什么类 方法组合才能做到这一点 对于 A
  • 使用 Hibernate Dialect 设置表字符集/排序规则?

    我使用 Hibernate MySQLInnoDB Dialect 来生成 DDL hibernate cfg xml
  • c和java语言中的换行符

    现在行分隔符取决于系统 但在 C 程序中我使用 n 作为行分隔符 无论我在 Windows 还是 Linux 中运行它都可以正常工作 为什么 在java中 我们必须使用 n 因为它与系统相关 那么为什么我们在c中使用 n 作为新行 而不管我
  • 如何在 Java 中使用 StringUtils?

    我是 Java 初学者 我想用StringUtils replace但 Eclipse 输出 StringUtils cannot be resolved I tried import java lang 但它不起作用 java lang不
  • spring mvc 跟踪引用页面

    在基于注释的弹簧控制器中 如果用户正在url com first page并点击一个链接或提交一份表格指出url com second page 如何制作second page知道url of first page所以这样second pa
  • org.apache.commons.codec.digest.Md5Crypt.md5Crypt 函数。 linux下出现异常,windows下正常

    我们正在使用commons codec加密密码 使用org apache commons codec digest Md5Crypt md5Crypt功能 在Windows环境下工作正常 但在CentOS上却抛出异常 我们有3台centOS
  • 如何在 JdbcTemplate 中创建 mySQL 存储过程

    背景 为了解决 MySql 中某些语句只允许在存储过程中出现的问题 我尝试在 JdbcTemplate 提交的 sql 中创建 运行然后删除存储过程 一个简单的例子是 这恰好是在 Spring Boot 中 Service public c
  • vm 参数中的 -D 是什么,它表示为什么我们必须在 vm 参数中始终指定 -D

    vm 参数中的 D 是什么 它表示为什么我们必须在 vm 参数中始终指定 D 有什么标准吗 如果是 那是什么以及指定的位置 D 设置当前运行的 java 程序可以访问的属性值 它允许程序员设置程序运行所需的值 但程序不知道这些值是什么 因此
  • 反应式 Spring Webflux REST 控制器内部重定向

    我正在为 spring 反应项目创建简单的控制器服务器 在设置重定向到另一个位置时 我在调用时发现错误http localhost 8080 There was an unexpected error type Internal Serve
  • 使用 Box2d(适用于 Android)进行碰撞检测?

    有人可以解释一下使用 box2d for android 进行碰撞检测的工作原理吗 我无法理解 BBContactListener 以什么方式工作 BBContactListener listener new BBContactListen
  • Java LRU 缓存使用 LinkedList

    堆栈溢出的新手 所以请不要介意我以菜鸟的方式问这个问题 我正在尝试使用链表实现 LRU 缓存 我在这里看到了使用 linkedHashMap 和其他数据结构的其他实现 但对于这种情况 我正在尝试使用链表创建最佳优化版本 正如我在技术期间被问
  • 更新分页。是否可以?

    他们是否存在一些方法来处理更新分页 例如我有 100 行类型 Id private Integer id Column private boolean flag Column private Date last 一开始它们看起来像 id f
  • while 之后无法访问的语句[重复]

    这个问题在这里已经有答案了 我只是修改代码 在以下代码中出现错误 int x 1 System out println x x while true x System out println x x 错误在最后一行 我可以知道错误 错误 无
  • 使用正则表达式匹配阿拉伯文文本

    我试图使用正则表达式仅匹配阿拉伯语文本 但出现异常 这是我的代码 txt matches P Arabic 这是例外情况 线程 main 中的异常 java util regex PatternSyntaxException 索引 9 附近
  • 如何创建具有同等时间元素的 JavaFX 转换?

    我正在尝试 JavaFX 和动画 尤其是PathTransition 我正在创建一个简单的程序 使球 弹跳 而不使用QuadCurveTo班级 到目前为止 这是我的代码 Ellipse ball new Ellipse 375 250 10

随机推荐

  • 使用Docker compose部署SpringBoot项目

    我们使用Docker的时候 定义Dockerfile文件 然后使用docker build docker run等命令操作容器 对Docker不熟悉的可以前往查看中文文档 Docker文档 然而微服务架构的应用系统一般包含若干个微服务 每个
  • 6.webpack 代码编译工具 的使用 (实现模块化)

    6 1 关于webpack webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具 当 webpack 处理应用程序时 它会在内部从一个或多个入口点构建一个 依赖图 dependency graph 然后将你项目
  • 【剑指offer】面试题8:旋转数组的最小数字

    题目描述 把一个数组最开始的若干个元素搬到数组的末尾 我们称之为数组的旋转 输入一个非递减排序的数组的一个旋转 输出旋转数组的最小元素 例如数组 3 4 5 1 2 为 1 2 3 4 5 的一个旋转 该数组的最小值为1 NOTE 给出的所
  • 海康威视RSTP摄像头视频数据从内网读取在web用HLS播放

    环境 海康威视录像机DS 7804NB K1 4P Ubuntu16 04 录像机内网地址192 168 100 99 一个摄像头接在4号口 32口以下通道号从33开始 摄像头内网地址 192 168 1 64 服务器内网地址192 168
  • SpringBoot中@Transactional注解不起作用的解决办法

    今天写完Service 想测试一下事务性 看是不是设置的自定义异常都能成功完成数据回滚 于是我写了一个方法 Override public boolean addNewUser UserInfo userInfo try int count
  • 云计算的未来:云原生架构和自动化运维的崭露头角

    文章目录 云原生架构 重新定义应用开发和部署 什么是云原生架构 为什么云原生架构重要 1 弹性和伸缩性 2 故障隔离 3 更快的交付 4 资源利用率 5 多云支持 云原生架构的实践 步骤 1 容器化 步骤 2 微服务 步骤 3 自动化运维
  • java设计模式——抽象工厂模式(Abstract Factory Pattern)

    抽象工厂模式产生的动机 为了更清晰地理解工厂方法模式 需要先引入两个概念 产品等级结构 产品等级结构即产品的继承结构 如一个抽象类是电视机 其子类有海尔电视机 海信电视机 TCL电视机 则抽象电视机与具体品牌的电视机之间构成了一个产品等级结
  • 电脑老是弹出vrvedp_m_VrvEdp_m.exe-应用程序错误。。。这弹窗每天弹个三十多次,烦死了,怎么消除?...

    满意答案 qingk0318 2014 05 06 采纳率 49 等级 8 已帮助 1862人 VrvEdp m exe北信源桌面管理软件想再用此软件又无法删除干净建议下载款unlocker软件小安装会鼠标右键菜单里先找北信源桌面管理软件V
  • SparkSession和sparkSQL

    一 概述 spark 有三大引擎 spark core sparkSQL sparkStreaming spark core 的关键抽象是 SparkContext RDD SparkSQL 的关键抽象是 SparkSession Data
  • javascript设计模式与六大原则

    设计模式的目的 提高代码的重用性 可读性 可靠性 可维护性 六大原则 单一职责原则 理解 不同的类具备不同的职责 各司其职 做系统设计是 如果发现有一个类拥有了两种职责 那么就要问一个问题 可以将这个类分成两个类吗 如果真的有必要 那就分开
  • 渣渣双非秋招以来第一份offer

    一 10月25日投递 boss上进行投递 二 10月27一面 1 在项目当中中如何运用的线程池 2 运用线程池的话可以解决什么问题 3 项目当中那些部分是运用了一些异步的操作 4 项目当中那些部分是运用了一些异步的操作 5 java并发编程
  • 程序员要如何提高数学水平

    I ve been working for the past 15 months on repairing my rusty math skills ever since I read a biography of Johnny von N
  • 2023企业数智化转型的正确打开方式是什么?他这样说(三)

    哈喽 又见面了大家 上两期我们说到了数据在数智化转型中的重要性以及监控在数智化转型中的角色 戳这里 一键回放精彩内容 2023企业数智化转型的正确打开方式是什么 他这样说 一 https mp csdn net mp blog creati
  • JMeter + Grafana + influxdb 性能监控平台

    平台架构 首先JMeter 异步写入数据到InfluxDB 然后InfluxDB存储数据 Grafana定时从InfluxDB读取数据 将数据在Grafana面板展示出来 由于同步写入对于性能的影响较大 所以JMeter支持异步写入 因此几
  • cmd怎么删除流氓软件?

    我们下载的软件可能会携带了流氓软件而不自知 不知道它们隐藏在哪个角落 想删又删不干净 有什么办法可以删除软件呢 可以试试cmd删除软件的方法 下面就来看看详细的操作 cmd如何删除流氓软件 1 用管理员方式运行命令行 在任务栏的搜索栏中输入
  • do while使用

    作为循环体 for和while用的比较多 但是do while没怎么用过 因为for和while很多情况是可以互换的 就是遍历而已 但是do while 不同 他是先do 再 while的 也就是说不管走到while哪一步怎么判断 都会先执
  • MFC之画笔与画刷的使用09

    1 画笔与画刷的使用 画笔和画刷的使用步骤 1 定义画家 已有 将形参注释去掉 2 定义画笔 或者画刷 并将交给画家 3 开始操作 案例 在绘图回调OnDraw中写 void CMFC FirstView OnDraw CDC pDC CM
  • MySQL ifnull()函数

    MySQL IFNULL函数简介 MySQL IFNULL函数是MySQL控制流函数之一 它接受两个参数 如果不是NULL 则返回第一个参数 否则 IFNULL函数返回第二个参数 两个参数可以是文字值或表达式 以下说明了IFNULL函数的语
  • Pytorch总结十三之 神经网络模型:批量归一化、ResNet、DenseNet

    Pytorch总结十三之 神经网络模型 ResNet DenseNet 本节将介绍批量归一化 batch normalization 层 它能让较深的神经网络的训练变得更加容易 在实战Kaggle比赛 预测房价里 我们对输入数据做了标准化处
  • 测试用例基础 12_02

    回顾 测试用例怎么写 测试点 不包含测试步骤 只有测试什么 只有测什么功能 预期的结果 为了提高作业的效率 测试用例只写测试点 直接写在Xmind 或者Excel 效率会比较高 面试的时候 就直接说测试点 是为了有限的时间 完整的测试用例