测试工程师需要准备哪些知识
零基础测试工程师的必备技能
- 概述
- 测试基础理论
- 软件测试的分类
- 研发管理模型
- 测试流程
- 测试方法(比较重要的测试方法)(用来设计测试用例)
- BUG的管理
- 测试的应用
- 总结
概述
本文会记录一些本人有关于测试工程师岗位的学习的整个过程和理解,如有错误或不足欢迎指正。下文会从测试基础理论,测试的工具学习,代码学习,自动化几个方向记录。测试,文档,编程能力
软件测试工程师实际上是看预期结果和实际结果是否相符
软件测试的发展历程
- 证明软件测试是正确的:因为初期的软件产出很不稳定,证明软件的功能是可以运行的。
- 证明软件测试是错误的:找出不对的地方,增加容错。
- 软件测试是保证软件质量是符合用户需求的一些列手段:和软件开发流程息息相关(预防bug)国内更加重视以技术为导向,国外更偏向于测试流程用质量控制一些理论。
测试的常识
- 测试是无穷无尽的,测试的数据是无穷无尽的。
- 评审:同行评审,小组评审,部门评审,项目评审,第三方评审
互联网公司的研发团队结构
职业发展
最开始找工作大概:功能测试
测试基础理论
测试的定义、测试的分类、测试的方法、测试的生命周期。 测试计划、测试方案、测试策略、测试用例的编写。 BUG的定义、BUG的分类、BUG的六要素、BUG的生命周期。 测试和开发流程的关系、瀑布流、V字形、W字型(双V)、螺旋型、敏捷等等。 PDCA、5W2H等分析管理的方法 质量管理体系CMMI(了解)
作者:浪晋
链接:https://www.zhihu.com/question/264794090/answer/286383593
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
软件测试的分类
按照测试方法的分类:
黑盒测试:只看输入输出,对于软件来说运行暴露的功能是否是正确的。
白盒测试:检查内部的结构和逻辑看是否有问题,对于软件来说就是看代码是否正确。
灰盒测试:把两种测试方式结合在一起。按照测试的方向的分类:
功能测试:测试功能,功能测试并不是黑盒测试而功能测试经常采用黑盒测试的方法。
性能测试:测试性能,性能测试就是能做多好。
分三点 :
(1)压力测试:模拟用户数量不断增加,逐渐测试发现软件的一个瓶颈。
(2)负载测试:持续保持高强度(不会按照峰值的强度测试,而是峰值80%~90%)的工作,看看能维持多久
(3)并发测试:一瞬间所有人同时在做同一个事情,多线程出错的问题。
安全测试:测试安全,模拟黑客攻击系统。按照软件开发的阶段的分类:
单元测试:具体测试开发的代码模块(方法,函数,类)
集成测试:主要测试接口(**接口:**不同的代码模块通过接口进行数据的发送和链接)
系统测试:集成的系统(功能,性能,安全,兼容性:(WEB不同的浏览器,APP不同的系统),易用性,稳定性,UI)
验收测试:产品,领导的测试按照对象来分类:APP测试,WEB测试,物联网测试,车联网测试,小程序测试,嵌入式测试,大数据测试,AI测试。
按照软件的状态测试:
静态测试:软件的不运行的测试
动态测试:软件运行起来的测试其他测试:
冒烟测试:测试前的测试,大概检测一下功能的完善程度。
回归测试:检查开发者的bug是否已经被改正。
阿尔法测试:内测,开放给一小部分内部的工作人员。
贝塔测试:公测,有一些实际的用户进行试用。
研发管理模型
1.瀑布流模型:不可逆转的模型
2.V字型模型:左面开发和右面测试的工作有一一对照的关系。
3.W字型模型:双V模型。左面的V是研发右面的V是测试。特点就是研发和测试的工作是同步的。
4.敏捷模型:高效的工作,及时的沟通,日报,白板,站立会,集中办公。
测试流程
需求分析阶段:
(1)需求分析:-需求文档-产品原型-口述(产品经理写的)
(2)学习业务流程
(3)提取功能点:由大到小,按照框架图找到最小的功能。并且把对应功能的描述,效果限制等写成备注在后面。
(4)编写需求分析说明书测试设计阶段:(5W1H方法编写前三点)
(1)测试计划:时间和人员的分配
(2)测试方案:针对每个测试内容如何开展测试,采用什么测试计划,使用什么测试工具
(3)测试策略:哪些测试内容先测,哪些内容后测,开始测试和结束测试的标准是什么。
(4)测试用例(测试工程师写):给测试人员一个指导,详见测试方法。
a 用例编号:唯一的。
b 用例名称:言简意赅,描述清楚这个用例是测试什么东西的。
c 前置条件:执行用例之前,软件必须要满足的条件。
d 优先级:时间有关,执行这测试用例的时间的紧急的登记。
e 重要级:功能有关,这个测试功能在系统里面的重要级别。
f 测试数据
g 测试步骤
h 预期结果
i 实际结果测试执行阶段:预期结果和实际结果做对比,如果一样则通过,如果不一样则有问题。
- 提交bug(详见bug的管理)。
- 回归测试:在版本2检查版本1上发现的问题有没有被解决(详见bug的管理流程/生命周期)。测试总结阶段
- 对工作的总结:做了哪些事情,总结一下。
- 对BUG的统计分析:测试,开发,软件模块,等级,解决时间,每个版本,状态。
- 对被测软件的质量评估:软件测试结束的标准:一二级的BUG全部关闭了+三级的BUG关闭80%+四级的BUG无所谓
测试方法(比较重要的测试方法)(用来设计测试用例)
- 等价类法:通过少量的数据代表大量的数据(选择一些有普遍意义的值代表大部分的情况,值是大量的,没有办法一个一个去尝试)
(1)无效等价类:无效的值
(2)有效等价类:有效的值 - 边界值法:找到输入的有效边界值。
举个例子:
微信发红包:
边界值:0.01-200
有效等价类:0.01,0.02,200,199.99,99.99
无效等价类:0,200.01 - 场景法 :模拟用户针对一个软件的,每一个场景,用户会进行哪些操作。
举个例子:
- 发送成功:
用户输入符合要求的金额,发送红包成功。
- 发送失败 :
1. 用户什么都没输入,不能发送成功。
2. 用户输入超出范围的值,不能发送成功。
3. 。。。。。。
BUG的管理
BUG的管理平台:
(1)禅道
(2)BUGFree
(3)ALM/QC
(4)testlink
(5)Bugzilla
(6)JIRABUG的六要素
- 编号
- BUG的名称:言简意赅,说明bug
- BUG的优先级:时间上的评定,这个BUG需要优先解决吗
- BUG的严重级别:
- 致命的:影响产品的核心流程的正常使用;导致软件挂了,闪退,崩溃;和钱有关
- 严重的:导致了功能上的无法使用。
- 一般的:功能上有些场景无法正常使用。
- 轻微的:建议性的东西,UI的问题,用户的体验。
- BUG的复现步骤:可以把用例的步骤赋值过来;预期结果和实际结果。
- 附件:佐证。BUG的生命周期
BUG的状态
- 新建new
- 打开/激活 open
- 已确认
- 已解决
- 拒绝
- 重新打开 reopen
- 关闭 closed
- 延期处理
- 重复BUGBUG的等级
测试的应用
前言:软件结构分为
- B/S结构 Browser/sever:
-C/S结构 client/server:需要单独安装和安装新版本;
- app测试(专项测试):
- 安装/卸载
- 消息推送
- 更新
- 弱网测试: 2/3/4/5G/WI-FI
- 场景交互:来电话了,正在听音乐,调用相机,前后台的切换
- 权限测试
- 离线测试 - web 测试:
版本迭代
随着时间/测试次数的推进,会发布很多版本,其中版本号是不断增加的。
增量测试和全量测试:
增量测试:只测试已知有变化的功能+自动化测试。
全量测试:测试所有功能。
总结
测试工程师需要准备哪些知识相关推荐
- 成为一个优秀的测试工程师需要具备哪些知识和经验?
先说下做软件测试所必须掌握的技能范围 我按照薪资的不同大致划分成3个档位: 月薪5-9k:从零基础入门到能够找到工作 月薪15-25k:测试在职搞定性能测试和自动化测试 年薪30W+:搞定测试开发,进 ...
- mysqld:表mysql.plugin不存在_99%测试工程师不知道的数据库知识|干货
点击上方"蓝字"关注我们 数据库,简而言之可视为电子化的文件柜--存储电子文件的处所,用户可以对文件中的数据进行新增.查询.更新.删除等操作. 所谓"数据库"是 ...
- 要想成为一个优秀的测试工程师,需要具备哪些知识和经验?
成为一个优秀的测试工程师需要具备哪些知识和经验? 针对这个问题,可以直接拆分以下三个小问题来详细说明: 1.优秀软件测试工程师的标准是什么? 2.一个合格的测试工程师需要具备哪些专业知识? 3.一个合 ...
- 字节女测试工程师万字总结的软件测试入门技巧
成为一个优秀的测试工程师需要具备哪些知识和经验? 针对这个问题,可以直接拆分以下三个小问题来详细说明: 1.优秀软件测试工程师的标准是什么? 2.一个合格的测试工程师需要具备哪些专业知识? 3.一个合 ...
- 渗透测试工程师零基础学习教程2023年最新版,想入门学习这一篇就够了。
什么是渗透测试? 渗透测试是指通过模拟黑客攻击的方式,评估一个系统或网络的安全性能,以发现潜在的漏洞或安全弱点.渗透测试通常包括对目标系统或网络进行多种攻击方式的测试,如密码破解.漏洞利用.社会工程学 ...
- 不需要网络的调频收音机_测试工程师真的不需要懂网络知识么?
1 导语 随着现在互联网公司的普及,越来越多的测试工程师从事web应用测试和移动APP测试类的产品,更加偏向应用. 所以导致越来越多的测试工程师对网络基础知道的甚少. 我曾经做过一个小调查,大概200 ...
- java测试工程师需要掌握什么_测试工程师需不需要了解开发知识?
测试工程师需不需要了解开发知识?相信很多已经入行的小伙伴,当初或多或少抱着测试不需要写代码,才选择干这行的.包括一些专业的IT培训机构,老师在给学员做专业指导时,也会说测试不需要写代码,针对不喜欢从事 ...
- CISP-PTE注册信息安全专业人员渗透测试工程师知识体系大纲
CISP-PTE注册信息安全专业人员渗透测试工程师知识体系大纲 都是图.. 不足之处,欢迎补充 转载于:https://www.cnblogs.com/wushangguo/p/9059372.htm ...
- js能订阅mq吗_测试工程师,必须了解的MQ知识!
什么是消息中间件?通过提供某种规范实现在不同系统之间传递语义准确的消息.专注于数据的发送和接收,利用高效可靠的异步消息传递机制的集成分布式系统.什么是MQ? MQ全称为Message Queue, 消 ...
最新文章
- 哪个牌子的平板电脑好_重庆智能会议平板哪个牌子好?软硬件好才是真的好!...
- Elasticsearch如何物理删除给定期限的历史数据?
- FPGA学习之路—应用程序—基于Verilog设计单总线8位ALU
- 《Effective Java》—— 对于所有对象都通用的方法
- 一键设置mac显示选项_如何通过关闭浏览器中的一个选项卡将Mac上的电池寿命延长一倍...
- 华为EMUI 11开启公测 这十款机型率先尝鲜
- MySQL基础2——表的约束
- Python一:【skimage】图像处理库的应用,不使用opencv的情况
- 养肝粥,用电脑过度人群必备! - 健康程序员,至尚生活!
- 日置BT3562无法开机怎么办,日常如何进行保养
- 12V直通限流芯片,输出12V,短路保护,可调限流1A-4A
- ArrayList 源码分析 -- 扩容问题及序列化问题
- 计算小于100的最大素数
- 统计软件 | Jamovi简介
- c语言实参和形参占用存储单元_在C语言中,以下说法正确的是()。 A.实参和与其对应的形参分别占用独立的存储单元。 B.实参和与...
- AI 上当,“苹果”变 “iPod”
- jcharArray转化为char [ ]
- 瞧一瞧看一看啦“一段眼睛跟着鼠标转动的跟踪眼代码”
- DMSP/OLS夜间灯光数据——应用
- Jackson JsonNode和ObjectNode的使用