测试/测试开发八股——找大厂测试实习基础篇

第一部分:基础概念

1. 软件测试是什么?

在规定的条件下对一个产品或者程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
软件测试工程师的任务

2. 软件测试工程师的任务

软件测试工程师主要工作是检查软件是否有bug、是否具有稳定性,写出相应的测试计划、测试规范、测试用例、测试数据、测试报告,及时纠错及时更正,确保产品的正常运转。

3. 测试开发工程师的任务

测试开发的核心职能依然是测试。
只是工程师在具备测试经验、熟练使用测试工具并有一定开发能力的前提下,可以自主开发平台,或对现有的开源工具进行二次开发
最终目的是提升产品的测试效率。

4. 测试开发与开发的联系

测试开发是测试岗位衍生的一个分支,利用开发能力解决测试工作中的问题,
小到生成数据、并发模拟等工具的开发,大到整个自动化测试平台的设计与实现,
旨在提高效率,降低成本。

5. 你知道哪些测试方法?

黑盒测试(也称为功能测试):把测试对象看成一个黑盒子,不需要了解其内部实现,只需要根据需求说明书来检查程序的功能是否满足它的功能说明。(UI自动化测试实现是一个黑盒测试,只是功能测试的案例变成了代码执行)
白盒测试:把测试对象当成一个透明的盒子,针对其代码内部实现进行测试。(一般是大企业 开发来搞)
灰盒测试:介于黑盒测试和白盒测试之间,需要了解一点业务+代码,比如自动化接口测试
单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。
集成测试:在单元测试的基础上,对单元模块之间的连接和组装进行测试。
系统测试:在所有都考虑的情况下,对系统进行测试。
验收测试:第三方进行的确认软件满足需求的测试。
回归测试:开完修改完后,验证之前出现的问题是否还会在新版本中再次出现

6. 你理解的黑盒测试和白盒测试是什么?

黑盒测试常用方法并举例:

等价类划分法
等价类划分是将系统的输入域划分为若干部分,从每个部分选取代表性数据进行测试,一个理想的测试用例能独自发现一类错误。
边界值分析法
边界值分析法是对等价类划分的一种补充,通过优先选择不同等价类间的边界值覆盖有效等价类和无效等价类来更有效的进行测试,因此该方法要和等价类划分法结合使用。选取的测试数据应该刚好等于、刚刚小于和刚刚大于边界值(验证程序员的>= <=这种写的对不对)
判定表法
判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。
错误分析法
错误推测法是基于以往的经验和直觉,参照以往的软件系统出现的错误,推测当前被测程序中可能存在的缺陷和错误。

白盒测试常用方法并举例:

强度由低到高:
语句覆盖:设计若干个测试用例,保证程序中的每一个执行语句至少执行一次,是”最弱的覆盖“,难以发现代码中的问题
在这里插入图片描述
判定覆盖(分支覆盖):使得程序中每个判断的取真或取假至少经历一次。
在这里插入图片描述
条件覆盖:每个条件至少有一次真值或假值(不考虑组合情况)。
在这里插入图片描述
判定条件覆盖:包含判定覆盖和条件覆盖。说白了程序中每个判断的取真或取假至少经历一次(判定覆盖),同时每个条件至少有一次真值或假值(条件覆盖)。不难发现判定条件覆盖同时满足判定覆盖和条件覆盖,弥补了两者各自的不足,但是判定条件覆盖并未考虑条件的组合情况。
在这里插入图片描述

条件组合覆盖(组合覆盖):每个条件的每种组合至少出现一次。显然,满足条件组合覆盖的测试用例一定是满足判定覆盖、条件覆盖和判定条件覆盖的。
在这里插入图片描述

路径覆盖:所有路径至少执行一次。
在这里插入图片描述

7. 软件测试的流程是什么?测试人员该从那个阶段进行介入?

需求分析阶段
测试人员会进行需求评审,对产品的功能进行整体把握,根据需求写用例
写测试计划
根据开发计划制定具体的测试时间和人员计划
撰写测试用例
根据详细的需求文档,进行用例的编写
使用思维导图列举测试大纲,尽量发散,想到什么就写什么。先放后收,对知识点进行总结和归纳,标记重点测试模块,删除冗余及重复测试点
可使用边界值法、等价类划分法、错误推测法、因果图法等设计案例
根据测试大纲制定测试用例,需包含模块名、测试优先级、操作步骤、期望结果、测试结果、备注
用例评审
测试作为主导,联合开发、项目经理、PM进行测试用例评审
可先讲解测试大纲,让开发、项目经理对测试用例有个大概后再详细测试用例讲解
执行测试用例
根据测试用例执行测试
发现问题保留现场,记录测试方法,通知开发解决问题
覆盖测试用例之外若有时间可进行探索性测试
缺陷报告编写及提交
将发现的缺陷编写成正式的缺陷报告,提交给开发人员进行缺陷的确认和修复
跟踪BUG修改情况
执行自动化测试,编写脚本,执行,分析,报告
进行性能测试,压力测试等其他测试,执行,分析,调优,报告

8. 什么是单元测试?什么是集成测试?什么是系统测试?什么是回归测试?什么是验收测试?

测试的相关流程:需求测试->概要设计测试->详细设计测试->单元测试->集成测试->系统测试->验收测试
单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。
集成测试:黑盒和白盒结合,在单元测试的基础上,对单元模块之间的连接和组装进行测试。
系统测试:黑盒测试的一种,是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等是否满足其规约所指定的要求。
回归测试:是指在发生修改之后重新测试先前的测试用例以保证修改的正确性。
验收测试:是部署软件之前的最后一个测试操作。目的是确保软件准备就绪,展示该系统满足用户的需求

9. 单元测试、集成测试、系统测试、验收测试、回归测试这几步最重要的是那一步?

我认为系统测试更重要
因为此时单元测试和集成测试已经完成,能够对软件所有功能进行功能测试,能够覆盖系统所有联合的部件,是针对整个产品系统进行的测试,能够验证系统是否满足了需求规格的定义,因此我认为系统测试很重要。

10. 测试用例设计的方法有哪些?

等价类划分法
边界值分析法
判定表法
错误推测法

11. Bug

Bug的周期?

提交->确认->分配->修复->验证->关闭

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/715199.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5.设备驱动程序

5. 设备驱动程序 Linux 内核是一个比较庞大的系统&#xff0c;深入理解内核可以减少在系统移植中的障碍。在系统移植中设备驱动开发是一项很复杂的工作&#xff0c;由于 Linux 内核提供了一部分源代码&#xff0c;同时还提供了对某些公共部分的支持&#xff0c;例如&#xff0c…

数据结构与算法:堆

朋友们大家好啊&#xff0c;本篇文章来到堆的内容&#xff0c;堆是一种完全二叉树&#xff0c;再介绍堆之前&#xff0c;我们首先对树进行讲解 树与堆 1.树的介绍1.1节点的分类 2.树的存储结构3.二叉树的概念和结构3.1 二叉树的特点3.2 特殊的二叉树3.3二叉树的存储结构 4.堆的…

Acwing---1460. 我在哪?

我在哪&#xff1f; 1.题目2.基本思想3.代码实现 1.题目 农夫约翰出门沿着马路散步&#xff0c;但是他现在发现自己可能迷路了&#xff01; 沿路有一排共 N N N 个农场。 不幸的是农场并没有编号&#xff0c;这使得约翰难以分辨他在这条路上所处的位置。 然而&#xff0c;…

Mybatis | 动态SQL

目录: 动态SQL中的 “元素” :\<if>元素\<choose>、\<when>、\<otherwise>元素\<where>、\<trim>元素\<set>元素\<foreach>元素\<bind>元素 作者简介 &#xff1a;一只大皮卡丘&#xff0c;计算机专业学生&#xff0c;正…

单细胞Seurat - 降维与细胞标记(4)

本系列持续更新Seurat单细胞分析教程&#xff0c;欢迎关注&#xff01; 非线形降维 Seurat 提供了几种非线性降维技术&#xff0c;例如 tSNE 和 UMAP&#xff0c;来可视化和探索这些数据集。这些算法的目标是学习数据集中的底层结构&#xff0c;以便将相似的细胞放在低维空间中…

__vueParentComponent和__vue__获取dom元素上的vue实例

vue2: 使用__vue__ const el document.querySelector(.xxx); const vueInstance el.__vue__;vue3: 使用 __vueParentComponent const el document.querySelector(.xxx); const vueInstance el.__vueParentComponent;

Python错题集-4:NameError:(变量名错误)

1问题描述 Traceback (most recent call last): File "D:\pycharm\projects\1-可视化学习\8.3更改小提琴图的中位数、均值、颜色等.py", line 8, in <module> violin_parts plt.violinplot(data, showmediansTrue, showmeansTrue) …

代码随想录算法训练营第四十四天 完全背包 、零钱兑换 II 、组合总和 Ⅳ

代码随想录算法训练营第四十四天 | 完全背包 、零钱兑换 II 、组合总和 Ⅳ 完全背包 题目链接&#xff1a;题目页面 (kamacoder.com) 解释一、01背包 一维 &#xff1a;为什么要倒序遍历背包&#xff1f; 首先要明白二维数组的递推过程&#xff0c;然后才能看懂二维变一维的…

【MATLAB源码-第150期】基于matlab的开普勒优化算法(KOA)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 开普勒优化算法&#xff08;Kepler Optimization Algorithm, KOA&#xff09;是一个虚构的、灵感来自天文学的优化算法&#xff0c;它借鉴了开普勒行星运动定律的概念来设计。在这个构想中&#xff0c;算法模仿行星围绕太阳的…

项目风险:测试大佬结合实例告诉你如何应对!

项目有风险 今天下午15点&#xff0c;团队成员D向他的主管Z反馈他测试的项目有风险&#xff1a;项目在测试周期内&#xff0c;但在用例评审时发现有一处功能逻辑有争议&#xff0c;需要产品经理跟业务方确认&#xff0c;可能出现的情况有&#xff1a; 1 不变更需求&#xff0…

【技巧】SpringCloud Gateway实现多子域(单个应用开放多个端口)

0. 目录 1. 需求背景2. 实现3. 额外 - 其它Servlet容器实现3.1 Undertow3.2 Tomcat 4. 相关 1. 需求背景 浏览器针对单个网站地址(ipport)存在“6个请求”限制&#xff1b;通过多子域配置可以突破这个限制&#xff0c;增加网站的响应效率&#xff0c;尤其是针对三维服务这类大…

【深入了解设计模式】组合设计模式

组合设计模式 组合模式是一种结构型设计模式&#xff0c;它允许你将对象组合成树状结构来表现“整体-部分”关系。组合模式使得客户端可以统一对待单个对象和组合对象&#xff0c;从而使得代码更加灵活和易于扩展。 概述 ​ 对于这个图片肯定会非常熟悉&#xff0c;上图我们可…

Carla自动驾驶仿真九:车辆变道路径规划

文章目录 前言一、关键函数二、完整代码效果 前言 本文介绍一种在carla中比较简单的变道路径规划方法&#xff0c;主要核心是调用carla的GlobalRoutePlanner模块和PID控制模块实现变道&#xff0c;大体的框架如下图所示。 一、关键函数 1、get_spawn_point(),该函数根据指定r…

c语言字符串函数之strcpy函数,strnpy函数

strcpy函数 语法格式 strcpy(字符数组1,字符串2&#xff09; 它的作用是把字符串2复制到字符数组1里面 #include<stdio.h> #include<string.h> int main() {char c[]"河南";char d[]"安徽";char d[];printf("%s\n",strcpy(c,d));…

力扣hot100题解(python版41-43题)

41、二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]]示例…

【C语言结构体】用户自定义类型--结构体,结构体传参,位段,联合体和枚举【图文详解】

欢迎来CILMY23的博客喔&#xff0c;本篇为【C语言结构体】用户自定义类型--结构体&#xff0c;结构体传参&#xff0c;位段&#xff0c;联合体和枚举【图文详解】&#xff0c;感谢观看&#xff0c;支持的可以给个一键三连&#xff0c;点赞关注收藏。 前言 上一篇&#xff08;ht…

GO—函数

Go 语言支持普通函数、匿名函数和闭包&#xff0c;从设计上对函数进行了优化和改进&#xff0c;让函数使用起来更加方便。 Go 语言的函数属于“一等公民”&#xff08;first-class&#xff09;&#xff0c;也就是说&#xff1a; 函数本身可以作为值进行传递。支持匿名函数和闭…

Leetcode.2369 检查数组是否存在有效划分

题目链接 Leetcode.2369 检查数组是否存在有效划分 rating : 1780 题目描述 给你一个下标从 0 0 0 开始的整数数组 n u m s nums nums &#xff0c;你必须将数组划分为一个或多个 连续 子数组。 如果获得的这些子数组中每个都能满足下述条件 之一 &#xff0c;则可以称其为…

推荐6款SSH远程连接工具

1、Xshell 介绍&#xff1a; xshell是一个非常强大的安全终端模拟软件&#xff0c;它支持SSH1, SSH2, 以及Windows平台的TELNET 协议。Xshell可以在Windows界面下用来访问远端不同系统下的服务器&#xff0c;从而比较好的达到远程控制终端的目的。 业界最强大的SSH客户机 官…

数据分析-Pandas数据的直方图探查

数据分析-Pandas数据的直方图探查 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff1f; 数据表&…