软件测试---基础篇

软件测试—基础篇

在此之前,关于软件测试的相关概念软件测试之概念篇了解一下

软件测试的生命周期

这里写图片描述

在不同的开发阶段,测试人员应该做什么:

  • 需求阶段:分析需求,得到测试需求
  • 计划阶段:根据需求编写测试计划
  • 设计阶段:搭建测试用例的框架
  • 编码阶段:完善、细化测试用例的同时也是对需求的测试
  • 测试阶段:按照测试用例执行,执行率达100%,可按优先级分先后执行,但最终全都要执行。自由测试,探索测试。编写测试报告时要对缺陷进行分析。缺陷分析的目的:1. 定位问题 2.对类似缺陷有一定参考
  • 运行维护:参与项目的实施,在试运行阶段收集bug并反馈
如何描述bug

团队精神
合格的bug描述应包括以下几部分:

  • 发现问题的版本
  • 问题出现的环境:浏览器版本,客户机操作系统等
  • 错误出现的步骤:描述问题重现的最短步骤
  • 预期行为的描述:描述期望结果,用户需求,最好写上需求来源。
  • 错误行为的描述:描述错误现象,日志或截图
  • 不要将多个bug混杂在一起:不同代码段产生的bug最好不要一块提交,难以定位
  • 其他:故障分类,如功能故障,界面故障,兼容性故障;还有优先级分类等。

标准的bug描述如下图:
这里写图片描述

定义bug的级别

各个公司对bug的定义不太一样,
- Blocker(崩溃):主要功能丧失,基本模块缺失等。如系统崩溃,数据库缺失等问题,这种较少见,一旦出现立即中止测试。
- Cirtical(严重):功能与需求严重不符,一级功能菜单缺失但不影响其他功能测试,在不影响其他功能测试的情况下可以继续进行测试
- Major(一般):功能未完全实现但不影响使用
- Minor(次要):界面、性能缺陷,建议类问题,不影响操作功能的执行,可以优化性能的方案。

bug的生命周期

从new到closed的所有状态
不同公司,不同工具对bug生命周期的定义不太相同
以下为bug状态转换图:

这里写图片描述

七种状态:
- new:新发现的bug,决定是否交给开发人员去修改
- open:确认是bug,并认定要修改,分配给特定的开发人员修改
- fixed:开发人员修改后标记成修改状态,等测试并进行人员进行回归测试
- rejected:若认为不是bug,则拒绝修改
- delay:无关紧要的bug延迟修改
- closed:修改状态的bug在测试人员回归测试验证通过之后,关闭该bug
- reopen:经验证bug未修复,要重新打开,开发人员重新修改

如何开始第一次测试

与测试组长确认工作内容:
测试计划?测试内容?测试案例多少?安排几天执行?

测试的执行和bug管理

测试执行过程:

  • 打开待测系统
  • 执行测试用例
  • 发现bug(复现并记录复现步骤)
  • 记录bug
  • 沟通bug
  • 验证以前提交的bug
  • 完成测试
  • 撰写测试报告

如何发现更多的bug:

  • 软件测试存在二八原则,80%的故障存在20%的模块,对问题出现多的模块,加强测试深度和广度
  • 开发人员也存在二八原则,80%的bug由20%的开发人员产出,加强容易出bug的开发人员开发模块的测试深度和广度
  • 多进行逆向思维和开发性思维
  • 不局限于测试用例和需求文档
  • 早早介入项目,提前了解项目的开发流程和核心思想
处理人际关系

完成一个项目时,开发人员与测试人员难免产生冲突,具体产生冲突的原因可能有:对一个bug的判定、bug级别的确定、立即修改还是延迟修改等,这些问题都有可能使开发和测试人员之间发生争执。
遇到争执不要怕,记住批判性思维:清楚–准确、切题–深刻,有意义,有逻辑性–公正、全面。

当发生争执时,作为一个测试人员,首先要做好以下几点:

  • 先检查自己是否将bug描述清楚
  • 站在用户角度思考,这样的bug会不会对用户造成影响,有没有完全满足用户需求
  • bug的定级要有根有据,最好站在用户角度上考虑定位级别
  • 最关键的还是要提升自身技能和业务水平,在提出bug的同时,还要提出解决bug的思路
  • 避免与开发人员争吵

接下来进一步学习软件测试之用例篇

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件测试工程师需要掌握的基础知识包括以下几个方面: 1. 计算机基础知识:了解计算机的组成部分、操作系统的分类以及常见的系统架构,如B/S和C/S。还需要熟悉常用的DOS命令。 2. 软件测试基础理论知识:了解软件测试的目的、定义、原则,以及产品质量模型和软件测试的基本流程。 3. Linux命令:掌握常用的Linux命令,因为在软件测试中可能需要搭建测试环境或在服务器上部署自动化项目,而服务器通常使用Linux系统。 4. SQL语句:熟悉数据库的基本操作,包括增、删、改、查的SQL语句。在软件测试中,常常需要操作数据库进行测试结果的校验或测试数据的准备。 5. 手工测试用例的编写:作为软件测试工程师,编写高覆盖率、低重复率的测试用例是最基本的要求。需要不断追求编写高质量测试用例的能力。 6. 缺陷的管理:了解如何管理测试人员提出的缺陷,以确保项目中的缺陷能够及时被修复。 综上所述,软件测试工程师需要掌握编程语言、数据库、测试理论、测试工具、操作系统等方面的基础知识。这些知识将有助于他们在软件测试过程中更好地进行工作。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [软件测试工程师要学习的基础知识,你知道多少?](https://blog.csdn.net/weixin_67553250/article/details/125262429)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [学习软件测试需要掌握哪些知识点呢(看这就行了)](https://blog.csdn.net/m0_57290404/article/details/120354535)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [如何写软件测试的归档报告?](https://blog.csdn.net/weixin_51689029/article/details/124024137)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值