测试工程师(初&中)面试题+知识点

2023-10-26

说明:

记录下个人开始转行自学 -> 开始求职期间主要的学习内容,涵盖了(计算机基础、测试基础、自动化测试等)初中级测试(20年夏更新)需要掌握的大部分内容。

巩固基础与按知识点自查时可选择性参考。

一、面试题

1.请分别介绍一下单元测试、集成测试、系统测试、验收测试、回归测试。

单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确地编码,通常是白盒,对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试。

集成测试:把通过了单元测试的模块组合在一起,通过测试发现与模块接口有关的问题。应当避免一次性的集成,而采用增量集成。

自顶向下策略:首先集成主模块,然后按照控制层次结构向下集成,按深度优先或广度优先的方式集成到整个结构中去。

自底向上策略:从最底的子模块开始构造和测试,没有使用稳定测试桩的必要。

系统测试:是基于系统整体的需求说明书的黑盒类测试,应覆盖系统所有联合的组件。包括软件、硬件、外设甚至包括某些数据等。

回归测试:是指在发生修改之后重新测试先前的测试用例以保证修改的正确性,同时要注意没有引入新的缺陷。

验收测试:验收测试是相关用户或独立测试人员根据测试计划和结果对系统进行测试和接受,让系统用户决定是否接收系统。包括Alpha测试和Beta测试。

2.单元测试、集成测试、系统测试、验收测试、回归测试这几步中最重要的是哪一步。

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

3.测试开发需要哪些知识,需要具备什么能力?

需要的知识:

软件测试基础理论知识,编程语言基础,自动化测试工具,计算机基础知识(数据库、Linux、计算机网络等),测试框架(如unittest),性能测试工具(如loadrunner)

需要具备的能力:

业务分析能力,专业技术能力,缺陷洞察能力,逻辑思考能力,问题解决能力,团队协作能力,沟通表达能力,宏观把控能力

4.说一说黑盒和白盒的测试方法。

黑盒测试也称功能测试或数据驱动测试,它是在已知产品应该具有的功能的前提下,把程序看作一个不打开的黑盒子,不考虑程序内部结构的实现,只检查程序的功能是否和需求规格说明书要求的一致。常用方法有:大纲法、场景法、等价类划分法、边界值分析法、因果图法、错误推断法。

白盒测试也称为结构测试或逻辑驱动测试,是把程序当做看作一个打开了的盒子,对程序内部的逻辑结构进行测试,是一种穷举路径的测试方法。但即使每条路径都测试过了,也仍然可能存在错误,因为:穷举路径测试无法检查出程序本身是否是有错误的;不能检查出程序因为遗漏路径而出错;发现不了一些与数据相关的错误。常用方法分静态测试(不运行程序,代码走查、静态结构分析、文档测试等)和动态测试(要执行代码,功能确认、接口测试、性能分析等)。白盒测试中的逻辑覆盖包括语句覆盖、路径覆盖、分支覆盖、条件覆盖、分支-条件覆盖、条件组合覆盖。

5.说一下手动测试和自动化测试的优缺点。

手工测试:测试人员具有经验和对错误猜测的能力,有是非判断和逻辑推理的能力。大量的回归测试会产生较大的成本,也容易出错,测试比较依赖于测试人员的能力。

自动化测试:便于回归测试,可以让测试人员从重复工作中解脱出来,提高工作效能,可以执行一些人工难以执行的测试,如大量用户并发测试。具有一致性和可重复性。自动化测试不能取代手工测试,发现的缺陷数量通常不如手工测试,工具本身并无想象力,对测试人员的代码要求较高。

6.如何看待软件测试的潜力和挑战?

软件测试是正在快速发展,充满挑战的领域。自动化测试工具的开发、安全测试、测试建模、性能测试、可靠性测试等专项测试中需要大量具有专业技能与专业素养的测试人员。随着云计算、物联网、大数据的发展,传统的测试技术可能不再适用,测试人员也面临着挑战,需要深入了解新场景并针对不同场景尝试新的测试方法,同时敏捷测试等技术的出现也显示了软件测试的潜力。

7.软件测试的核心竞争力是什么?

1.尽早发现尽可能多的问题;

2.发现别人发现不了的问题。

8.请说一说简单用户界面的登录过程要做哪些分析?

一、功能测试

1.输入正确的用户名和密码,点击提交按钮,验证是否能正确登录;

2.输入错误的用户名或密码,验证登录会失败,并提示相应的错误信息;

3.登录成功后是否跳转到正确的页面;

4.用户名和密码,太长或太短的情况;

5.用户名和密码中有特殊字符(如空格)的情况;

6.是否提示记住用户名和密码;

7.密码是否非明文显示的;

8.有验证码的情况下,验证码刷新按钮是否正常;

9.什么都不输入,直接提交的情况

二、界面测试

1.布局是否合理;

2.textbox和按钮是否整齐;

3.界面的设计风格是否与UI的设计风格统一;

4.界面中的文字是否简洁易懂,没有错别字

三、性能测试

1.打开登录页面的响应时间是否过长;

2.登录成功后跳转到新页面的时间是否过长;

3.模拟大量用户同时登录,检查一定压力下能否正常登陆跳转

四、安全性测试

1.登录成功后生成的cookie,是否容易被脚本盗取;

2.用户名和密码是否通过加密方式发送给服务器的;

3.用户名和密码的输入框,应该屏蔽SQL注入攻击;

4.用户名和密码的输入框,应该禁止输入脚本(防止XSS攻击);

5.防止暴力破解,是否有错误登录的次数限制;

6.多用户在同一机器登录;

7.同一用户在多台机器登录

五、可用性测试

1.是否可用键盘操作,有无快捷键;

2.输入框能否用tab切换

六、兼容性测试

1.不同浏览器下能否显示正常且功能正常;

2.不同的系统下能否正常工作;

3.不同的分辨率下是否正常

七、本地化测试

1.不同语言环境下,页面显示是否正确

9.如何对一个页面进行测试?

1.UI测试:页面布局、样式检查、控件的长度是否合适;支持的快捷键,tab键切换焦点顺序的正确性等;

2.功能测试:页面上各类空间的测试范围、测试点。

3.安全测试:输入特殊字符,SQL注入,脚本注入测试。后台验证测试,数据传输是否加密。

4.兼容性测试

5.性能测试

10.请说一下jmeter。

Apache组织研发的基于java的压力测试工具。可用于回归测试、接口测试、性能测试等。

开源免费,支持录制回放,入门简单,可多平台运行。

用例为xml格式。测试内容都存放在测试计划里

11.前端下拉框实现,测试下拉框定位方式。Selenium+python

from selenium.webdriver.support.ui import Select

# 三种定位方式

Select(el).select_by_index(1)

Select(el).select_by_value(“2”)

Select(el).select_by_text(“male”)

12.你遇到过哪些印象深刻的bug,接口测试出现bug的原因有哪些?

(平时工作中遇到bug要试着自己去定位,这个过程中需要掌握和运用更多的知识。发现的bug最好问问开发,了解原因和解决办法,下次就知道怎么做了)

接口测试常见bug:

特殊值处理不当导致程序异常退出或崩溃;取值边界未返回正确的错误提示信息;逻辑校验不完善,可以利用漏洞获取非正当利益;状态处理不当,导致出现逻辑错误。

13.你在项目中关于功能测试和接口测试是怎么做的?

14.请说一说快速排序,并手写代码。

1、快速排序的基本思想:

快速排序使用分治的思想,通过一趟排序将待排序列分割成两部分,其中一部分记录的关键字均比另一部分记录的关键字小。之后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。

2、快速排序的三个步骤:

(1)选择基准:在待排序列中,按照某种方式挑出一个元素,作为 “基准”(pivot)

(2)分割操作:以该基准在序列中的实际位置,把序列分成两个子序列。此时,在基准左边的元素都比该基准小,在基准右边的元素都比基准大

(3)递归地对两个序列进行快速排序,直到序列为空或者只有一个元素。

15.你最熟悉什么算法?说一下原理或排序过程?优缺点是什么?你知道什么排序算法,介绍一下实现方法,时间复杂度和空间复杂度,是否稳定,快排基准点怎么选择。

最熟悉排序算法,常见的排序算法有以下几种

1、插入排序,即逐个处理待排序的记录,每个记录与前面已排序的子序列进行比较,将它插入子序列中正确位置,时间复杂度O(n^2),空间复杂度为O(1),是稳定排序,插入排序不适合对于数据量比较大的排序应用,但是如果量级小余千,那么插入排序还是一个不错的选择,

2、冒泡排序,它重复地走访过要排序的元素,依次比较相邻两个元素,如果他们的顺序错误就把他们调换过来,直到没有元素再需要交换,排序完成。这个算法的名字由来是因为越小(或越大)的元素会经由交换慢慢“浮”到数列的顶端。他的时间复杂度和空间复杂度分别是O(n^2),空间复杂度是O(1)属于稳定排序,冒泡排序对于少数元素之外的数列排序是很没效率的。

3、选择排序,初始时在序列中找到最值元素,放到序列的其实位置作为已排序序列,再在剩余未排序元素中继续寻找最小(大)元素,放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。他的时间复杂度是O(n^2),空间复杂度是O(1)属于不稳定排序

4、shell排序,是插入排序的升级版,属于不稳定排序,希尔排序通过将比较的全部元素分为几个区域来提升插入排序的性能。这样可以让一个元素可以一次性地朝最终位置前进一大步。然后算法再取越来越小的步长进行排序,算法的最后一步就是普通的插入排序,但是到了这步,需排序的数据几乎是已排好的了(此时插入排序较快)。
假设有一个很小的数据在一个已按升序排好序的数组的末端。如果用复杂度为O(n^2)的排序(冒泡排序或直接插入排序),可能会进行n次的比较和交换才能将该数据移至正确位置。而希尔排序会用较大的步长移动数据,所以小数据只需进行少数比较和交换即可到正确位置。希尔排序的时间复杂度根据步长序列的不同而不同,空间复杂度O(1)

5、归并排序,归并排序的实现分为递归实现与非递归(迭代)实现。属于稳定排序,递归实现的归并排序是算法设计中分治策略的典型应用,我们将一个大问题分割成小问题分别解决,然后用所有小问题的答案来解决整个大问题。非递归(迭代)实现的归并排序首先进行是两两归并,然后四四归并,然后是八八归并,一直下去直到归并了整个数组。他的时间复杂度是O(nlogn)空间复杂度是O(n)

6、堆排序,其实现原理为首先将数组构造成一个最大/最小堆,将堆顶元素和堆尾元素互换,调出堆顶元素,重新构造堆,重复步骤直至堆中元素都被调出。堆排序的时间复杂度为O(nlogn)空间复杂度为O(1),属于不稳定排序。

7、快速排序,快排使用分治策略,首先从序列中挑出一个元素作为基准,然后把比基准小的元素放在一边,把比基准大的元素放在另一边,重复这个步骤,直至子序列的大小是0/1.快排的时间复杂度是O(nlogn)空间复杂度是O(logn)属于不稳定算法,对于快排的基准元素选取,可以采用三者取中法,三个随机值的中间一个。为了减少随机数生成器产生的延迟,可以选取首中尾三个元素作为随机值

16.说一下在浏览器中输入一个网址,它的运行过程是怎样的?

1.查询DNS,获取域名对应的IP;

2.得到目标服务器的IP地址和端口号(http80,https443),客户端向服务器发送http请求报文;

3.服务器端经过物理层-数据链路层-网络层-传输层-应用层,解析请求报文,发送http响应报文;

4.关闭连接,TCP四次挥手;

5.客户端解析http响应报文,浏览器显示HTML。

17.请说说HTTP状态码

100199表示请求已经收到继续处理,200299表示成功,300399表示资源重定向,400499表示客户端请求出错,500~599表示服务器端出错。

200:响应成功;

302:跳转,重定向

400:客户端有语法错误

403:服务器拒绝提供服务

404:请求资源不存在

500:服务器内部错误

18.进程、线程

进程:进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。一般由程序、数据集合和进程控制块三部分组成。

线程:线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位。

线程是程序执行的最小单位,进程是操作系统分配资源的最小单位;一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线。

19.一次面试题合集

就整机测试中某个功能(如通话功能)列举10条测试用例;描述一下TCP的三次握手;自己举例说一下MySQL语句的增删改查;Linux下显示系统的所有进程;问具体的项目流程和自己负责的模块

20.web测试和App测试的区别?

网页(PC、手机),App(手机等移动端);B/S架构、C/S架构;

21.你们是如何编写测试用例,根据什么来编写?如何保证用例的覆盖度?

根据需求(需求说明书、之前的产品、同品、软件的规范、经验)编写测试用例(UI、功能、兼容性、安全、性能、稳定性、易用性),用到方法(测试用例设计方法)

工具:Excel Xmind 禅道……

覆盖度:覆盖显性需求、挖掘隐形需求、合理地设计用例、用例评审

22.设计一个电梯的测试用例?

需求(用途,用在什么场合)

功能、容量(容错,安全,接触,红外感应,提示,警告……)、稳定性,通风,速度……

23.如何发现bug?

可从以下几方面考虑:

1.根据软件需求说明书查找;

2.查找时间依赖和竞争条件的问题;

3.查找边界条件缺陷、内存泄露和数据溢出缺陷;

4.查找状态转换时出现的缺陷;

5.查找资源依赖性:内存、网络、硬件等方面的缺陷;

6.查找和硬件相关的缺陷,比如软件兼容性方面的缺陷。

24.我现在有个程序,在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?

1.检查系统是否有中毒的特征;

2.检查软硬件的配置是否符合软件的推荐标准;

3.确认当前的系统是否独立,有没有对外提供什么消耗CPU资源的服务;

4.如果是C/S或B/S架构的软件,需要检查是否与服务器的连接有问题,或者访问存在问题;

5.在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况。

25.你认为做好测试计划工作的关键是什么?

软件测试计划就是在软件测试工作实施之前明确测试的对象,并且通过对资源、时间、风险、测试范围和预算等方面的综合分析与规划,保证有效的实施软件测试;做好测试计划工作的关键在于:目的,管理,规范。

26.你认为做好测试用例设计工作的关键是什么?

白盒测试用例设计的关键是尽可能以较少的用例覆盖较多的内部程序逻辑结构;黑盒测试用例设计的关键同样也是以较少用例覆盖模块输出和输入接口。

27.单元测试的主要内容?

模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试。

28.软件测试的风险主要体现在哪里?

没有对软件进行完全测试,实际上就是选择了风险,因为缺陷很有可能就存在于没有进行测试的部分。因此我们要尽可能地选择最合适的测试量,把风险降低到最小。

29.测试人员和QA。

测试人员的职责是尽可能早地找出缺陷,确保得以修复。QA主要职责是创建或制定标准和方法,提高促进软件开发能力和减少软件缺陷。

30.其他类面试问题。

对测试的理解?谈一谈自己过去的工作?测试工具?如何做计划和跟踪计划?是否熟悉数据库?阅读英文文章给出理解说明?文档的意义?进入公司有何帮助?随便找一个物品测试?

31.描述软件产生内存泄露的原因,以及检查方式。

主要是开发过程中申请了计算机资源(如对象、内存等),但是使用资源完成后没有及时释放资源导致的。

32.子网掩码的用途?

主要用于判断两个IP地址是否处在同一局域网中;子网掩码是由连续的2进制1组成的。子网掩码和IP地址进行按位与运算后,结果一致,表示处于同一局域网中,否则不在,需要寻找路由。

33.Windows操作系统中path环境变量的作用是?

PATH的作用是用户在命令行窗口执行一个命令,则在PATH变量设置的目录下依次寻找该命令对应的执行文件,若找到,则执行;没有找到,则命令行返回无效命令。

34.重要概念:ISO模型、TCP/IP协议、IEEE、GB、UI、GUI

ISO模型自底向上:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

TCP/IP协议:网络接口层、网络层、传输层、应用层。

IEEE:国际电气电子工程师协会

GB:国家标准

UI:界面

GUI:图形界面

35.测试阶段及每阶段目的?

单元测试、集成测试、系统测试、验收测试。前三阶段是为尽可能多地发现缺陷,验收测试是验证软件满足了用户需求,帮助用户建立系统可以正常使用的信心。

36.说下开发模型和测试模型有哪些?

开发模型:大爆炸模型、边写边改模式、瀑布模型、螺旋模型、敏捷开发模型

测试模型:V模型、W模型、H模型、X模型、敏捷测试模型、前值测试模型

敏捷开发:核心是以人为本,适应变化。特点是:依赖客户的参与、测试驱动以及紧凑的迭代开发周期

V模型:用户需求-需求分析-概要设计-详细设计-编码-单元测试-集成测试-系统测试-验收测试

W模型:

左边V是 需求分析-概要设计-详细设计-编码实现-模块集成-系统构建-系统安装;

右边V是 需求测试-概要设计测试-详细设计测试-单元测试-集成测试-系统测试-验收测试

H模型:测试流程是只要测试准备工作完成,达到就绪点,测试就可以执行

37.入口准则、出口准则是什么?

进行一项测试工作前需要准备好的前提条件;一项测试工作可以结束的前提条件。

38.判断软件缺陷

(1)软件未达到产品说明书标明的功能;

(2)软件出现了产品说明书指明不会出现的错误;

(3)功能超出软件说明书指明范围;

(4)软件未达到产品说明书虽未指出但应该达到的目标;

(5)软件测试员认为软件难以理解、不好用或最终用户觉得不好

39.缺陷报告的写作准则?内容?

5C。Correct(准确)、Clear(清晰)、Concise(简洁)、Complete(完整)、Consistent(一致)

缺陷标题、预处理、复现步骤、预期结果、实际结果、严重程度、优先级、测试环境、测试版本、测试执行人、注释

40.白盒测试的方法。

静态的有使用工具进行语义、语法、语句的分析;人工的可以桌面检查、代码审查、代码走查。

动态的主要有基本路径法和逻辑覆盖方法,后者包括

语句覆盖:程序中每个可执行语句至少被执行一次;

路径覆盖:用例覆盖程序中的所有可能的执行路径;

分支覆盖:程序中的每个判定的取真分支和取假分支至少执行一次;

条件覆盖:程序中每个判定里每个条件的可能取值至少满足一次;

分支-条件覆盖:分支和条件总和

41.测试用例的内容

用例编号,测试标题,输入的数据,预期结果,优先级,前置条件

42.安全性从那几个方面测试?

软件的安全性测试包括程序、数据库安全性测试。

根据系统安全指标不同,测试策略也不相同。

用户认证安全,系统网络安全,数据库安全。

43.测试计划编写的6要素?

5W1H.who,why,when,where,what,how

\44. 回文序列是正序和反序都相同的字符串,如“A”,“BAB”“BFFB”。实现一个函数,判断输入的字符串是否为回文,写出测试用例。

需求分析:回文是一个字符串,正反相同;

举例子找规律:

奇数个字符 A BAB BADAB n个字符,第i个=第n-1-i个,需要判断次数为n/2下取整

偶数个字符 AA ABBA ABCCBA n个字符,第i个=第n-i-1个,需要判断n/2次

思路:需要一个字符串参数,表示回文。循环判断

s = "A"
n = len(s)
if (n == 0):
    print("空字符串不是回文")
else:
    for i in range(0, int(n/2)+1):
        if (s[i] == s[n-i-1]):
            if (i == int(n/2)):
                print(s + "是回文")
            else:
                print(s + "是回文")
                break

45.系统测试的策略?

功能测试:是否完成了需求说明书的要求的功能。

性能测试:性能表现。CPU、内存、硬盘的消耗,处理速度、反应时间等。

(负载测试:不断增加负载来测试;压力测试:不断加压到异常情况下的反应)

易用性测试:是否好用。

安全性测试:数据安全性,收到攻击是否还安全。

配置测试:不同配置下软件性能表现如何。

安装卸载测试:能否正常安装和卸载。

故障恢复测试:发生故障后恢复正常的能力。

文档测试:许可协议、连接帮助、用户手册等。

用户界面测试:界面排版正确性、风格的美观性。

46.了解的几种约束?

主键:保证表中的实体或行的唯一性,控制表中的行不重复。不允许空值、重复,一个表最多一个。

唯一键:保证表中某个列下的行数据不重复。

Check:检查约束。通常为了控制列的行数据必须符合要求,比如性别列只能填男或女。

非空:必须输入数据。

外键:通常为了和其他表建立关联。

默认值:当表中有大量重复数据,或有些数据难以人为输入时,采取的值。

47.接触过哪些标签?

Head,title,body,table,a,h,b,u,I,s,strong,em,del,form,input(type=text/textarea/password/checkbox/radio/submit/reset/button),span,div,img

48.编码实现:冒泡排序、选择排序、快速排序……

49.在Linux中使用shell修改/etc/snmp.conf文件为所有用户都可读可写可执行。

Chmod a+rwx /etc/snmp.conf 或 chmod 777 /etc/snmp.conf

50.系统测试的策略有?

功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文档测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试。

51.简述集成测试的过程。

系统集成测试主要包括以下过程:

1.构建的确认过程;

2.补丁的确认过程;

3.系统集成测试测试组提交过程;

4.测试用例设计过程;

5.测试代码编写过程;

6.bug的报告过程;

7.每周/两周的构建过程;

8.点对点的测试过程;

9.组内培训过程。

52.怎么做好文档测试?

仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。

检查文档的编写是否满足目的要求;内容是否齐全,正确;标记是否正确。

53.比较负载测试,容量测试和强度测试的区别。

性能测试可以分为以下6种:负载测试、压力测试、容量测试、配置测试、基准测试和并发测试。

负载测试:在一定的软件、硬件及网络环境下,运行一种或多种业务,在不同虚拟用户数量下,测试服务器指标是否在用户的要求范围内,以此确定系统所能承受的最大用户数,系统响应时间及资源利用率等。

压力测试:在一定的软件、硬件及网络环境下,模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下并长时间连续运行,以测试服务器在高负载情况下能否稳定工作。

强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。

容量测试:在一定的软件、硬件及网络环境下,在数据库中构造不同数量级的数据记录,在一定虚拟用户下运行一种或多种业务,以获取不同数量级别的服务器性能指标,以确定数据库的最大容量及最佳容量。

配置测试:在一定软件、硬件及网络环境下,运行一种或多种业务,在一定数量的虚拟用户下,获得不能配置的性能指标。

基准测试:在一定软件、硬件及网络环境下,模拟一定数量的虚拟用户运行一种或多种业务,将测试结果作为基准数据,在系统调优或系统测评的过程中,通过运行相同业务场景比较测试结果,确定调优的结果是否达到预期效果或者为系统的选择提供决策数据。基准测试一般基于配置测试,通过配置测试得到数据,并将这个数据作为基准来比较每次调优或性能是否有所改善。

并发测试:通过模拟多个用户并发访问同一个应用、存储过程、数据记录或其他并发操作,测试是否存在死锁、数据错误等故障。

53.测试结束的标准是什么?

用例全部测试;覆盖率达到标准;缺陷率达到标准;其他指标达到质量标准。

54.描述软件测试活动的生命周期?

测试周期分为计划、设计、实现、执行、总结。

计划:对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等;从宏观上规划整个测试活动。文档包括测试目的,项目背景介绍,输入文档,系统运行环境(网络拓扑图、软硬件配置)、测试内容、资源安排(角色和职责,测试工具)、进度安排、交付件及风险等。

设计:完成测试方案,从技术层面上对测试进行规划;测试方案包括测试目的,测试策略等。

实现:进行测试用例和测试规程设计;

执行:根据前期完成的计划、方案、用例、规程等文档,执行测试用例。

总结:记录测试结果,进行测试分析,完成测试报告。

55.什么是兼容性测试?兼容性测试侧重哪些方面?

兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即通常说的软件的可移植性。

类型细分有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。

兼容测试的重点是对兼容环境的分析。通常是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容性测试的兼容环境了。

56.正交表测试用例设计方法的特点是什么?

用最少的实验覆盖最多的操作,测试用例设计较少,效率高,但是比较复杂;对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来,但是更深的缺陷,更复杂的缺陷,还是无能为力。具体的环境下,正交表一般都很难做,大多数只在系统测试的时候使用此方法。

57.loadrunner组成部分?进行测试的流程?

分三部分:用户动作设计、场景设计,测试数据分析。

测试流程:创建脚本、设计场景、运行场景、分析结果

58.什么是并发?在loadrunner中,如何进行并发测试?集合点失败了会怎么样?

在同一时间点,支持多个不同的操作。在loadrunner中提供IP伪装,集合点,配合虚拟用户的设计,以及在多台电脑上设置,可以比较好的模拟真实的并发。集合点即多个用户在某一时刻,某个特定的环境下同事进行虚拟用户的操作。集合点失败了,集合点的操作就会取消,测试就不能进行。

59.软件的评审一般有哪些人参加?其目的是什么?

在正式的会议上将软件项目的成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产品进行评审和批准。其目的是找出可能影响软件产品质量、开发过程、维护工作的适用性和环境方面的设计缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改进。

人员:用户、客户或有关部门开发人员,测试人员,需求分析师都可以,就看处于评审的哪个阶段。

60.软件的安全性应从哪几个方面去测试?

1.用户认证机制:如数据证书、智能卡、双重认证、安全电子交易协议

2.加密机制

3.安全防护策略:如安全日志、入侵检测、隔离防护、漏洞扫描

4.数据备份与恢复手段:存储设备、存储优化、存储保护、存储管理

5.防病毒系统

61.集成测试也叫组装测试或联合测试,请简述集成测试的主要内容。

1.在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;

2.一个模块的功能是否会对另一个模块的功能产生不利的影响;

3.各个子功能组合起来,能否达到预期要求的父功能;

4.全局数据结构是否有问题;

5.单个模块的误差累积起来,是否会放大,从而达到不能接收到的程度。

62.集成测试与系统测试的关系?

集成测试的主要依据概要设计说明书,系统测试主要依据需求设计说明说;集成测试是系统模块的测试,系统测试是对整个系统的测试,包括相关的软硬件平台、网络以及相关外设的测试。

63.软件系统中除用户文档之外,文档测试还应该关注哪些文档?

开发文档,软件需求说明书,数据库设计说明书,概要设计说明书,详细设计说明书,可行性研究报告,管理文档,项目开发计划,测试计划,测试报告,开发进度月报,开发总结报告。

64.简述软件系统中用户文档的测试要点?

(1)读者群。文档面向的读者定位要明确。对于初级用户、中级用户以及高级用户应该有不同的定位

(2)术语。文档中用到的术语要适用与定位的读者群,用法一致,标准定义与业界规范相吻合。

(3)正确性。测试中需检查所有信息是否真实正确,查找由于过期产品说明书和销售人员夸大事实而导致的错误。检查所有的目录、索引和章节引用是否已更新,尝试链接是否准确,产品支持电话、地址和邮政编码是否正确。

(4)完整性。对照软件界面检查是否有重要的分支没有描述到,甚至是否有整个大模块没有描述到。

(5)一致性。按照文档描述的操作执行后,检查软件返回的结果是否与文档描述的相同。

(6)易用性。对关键步骤以粗体或背景色给用户以提示,合理的页面布局、适量的图表都可以给用户更高的易用性。需要注意的是文档要有助于用户排除错误。不但描述正确操作,也要描述错误处理办法。文档对于用户看到的错误信息应当有更详细的文档解释。

(7)图表与界面截图。检查所有图表与界面截图是否与发行版本相同。

(8)样例与示例。像用户一样载入和使用样例。如果是一段程序,就输入数据并执行它。以每一个模块制作文件,确认它们的正确性。

(9)语言。不出现错别字,不要出现有二义性的说法。特别要注意的是屏幕截图或绘制图形中的文字。

(10)印刷与包装。检查印刷质量;手册厚度与开本是否合适;包装盒的大小是否合适;有没有零碎易丢失的小部件等等。

65.你平常做接口测试的过程中发现过哪些bug?

常规错误,接口没实现,没按约定返回结果,边界值处理出错等。

输入异常值(空值、特殊字符、超过约定长度等),接口抛错,没做封装处理;输入错误的参数、多输入、少输入参数,接口可能出现的错误;安全性问题,如明文传输、返回结果含有敏感信息,没对用户身份信息做校验,没做恶意请求拦截等;性能问题,如接口并发插入多条相同操作,响应时间过长,接口压测出现瓶颈等。

二、知识点

1.测试用例设计综合策略

a.综合策略:

1)在任何情况下都必须使用边界值分析法,经验表明用这种方法设计出测试用例发现程序错误的能力最强;

2)必要时用等价类划分法补充一些测试用例;

3)用错误推断法再追加 一些测试用例;

4)对照程序逻辑,检查已经设计出的测试用例的逻辑覆盖度,如果没有达到要求的覆盖标准,应补充足够的测试用例;

5)如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法。

b.测试用例的设计步骤

1)构造根据设计规格得出的基本功能测试用例;

2)边界值测试用例;

3)状态转换测试用例;

4)错误猜测测试用例;

5)异常测试用例;

6)性能测试用例;

7)压力测试用例;

2.文件系统

操作系统中负责管理和储存文件信息的方法就是文件系统。即在磁盘上组织文件的方法。

3.Linux中基础命令

“任务管理器”:top

查看内存使用情况:free

查看目录或文件大小:du

查看磁盘分区大小:df

查看信息:ls cd pwd

创建文件:touch mkdir vim(未编辑模式、编辑模式、命令行模式 编辑技巧:yy p dd u 锚定符:gg G ^ $ 命令行模式:wq q!)

查看文件:cat -n(同时显示行号) head tail

删除文件:rm -f rm -rf

复制文件:cp

文件解压缩:tar zcvf 压缩包名 被压缩文件

​ Tar xf 压缩包名 unzip 压缩包名

链接文件:ln -s 源文件 软连接文件

下载文件:wget url

用户:su – id(判断当前用户是否存在) useradd passwd who(判断当前有哪些用户登录当前主机) whoami exit(退出当前用户)

Chown chmod

文件操作权限:

​ chmod [用户符号][操作符号][操作权限] 文件

​ 例子:chmod o-x /data/file chmod +x /data/file

文件用户归属:

​ chown -R [属主].[属组] 目录

​ 例子:chown -R admin-b.admin-b /data

其他常用:find 指定目录 -name “要找的文件名”

​ grep(格式1:命令1 | grep 关键字 格式2:grep 关键字 文件名 -v 取反 -n 显示行号)

​ echo >(重定向,覆盖) echo >> (重定向,追加)

​ man 命令 uname -a(查看所有内核信息)

​ netstat(查看当前系统开启的端口号 netstat -tnulp)

​ ps(查看服务进程信息 ps aux | grep ssh)

​ kill(杀死一个进程)

4.网络基础知识点

网络通过IP和端口进行通信。IP、端口(计算机中不同应用程序对外提供服务的一个窗口,2^16-1)、域名

常见IP:

127.0.0.1 当前系统的本地回环地址

192.168.x.x 当前局域网的IP地址段

常见端口:

22 ssh服务 80 http 443 https 3306数据库 9000 php

Tomcat 8080

5.测试常用工具及用途

禅道和QC(软件质量生命周期管理软件)、Xshell和CRT(连接服务器)、Nginx(可做web服务器运行html、js、css、小图片等静态数据,类似Lighttpd软件)、MySQL(开源的关系型数据库)、PHP、Navicat(数据库管理工具,图形化界面客户端)

6.测试中常见的网络架构

LNMP(Linux+Nginx+MySQL+PHP)

完整的请求流程:

1.用户在自己的浏览器中输入一段web请求地址

2.浏览器会对这个请求进行拆分:IP地址找对应的额服务器,port端口找服务器上监听该端口的服务,然后将最后的具体请求交给web服务去处理

3.web服务接收到该请求后,处理该请求

4.如果遇到一些数据处理,需要到后端的数据库服务后去数据,数据库服务就返回数据给web服务

5.web服务生成完整的web网页,以数据报文的形式发送到客户端的浏览器

6.浏览器渲染web网页,最后展示给用户

常见url内容:

7.数据库

关系型数据库:核心是用表存数据。表中存的是一行一行的数据,表头有多个字段名,代表每一列数据的含义;每一行数据有多个字段值;一个数据库中可以存多个表。

SQL:结构化查询语言,用于存取数据以及查询、更新和管理关系型数据库系统RDBMS(Oracle,MySQL,sqlited等)

Select age from students where name=’小乔’

Select * from students where hometown!=’北京’

Select * from students where age<20 and sex=’女’

Select * from students where sex=’女’ or class=1班’

Select * from students where not hometown=’天津’

Select * from students where name like ‘孙%Select * from students where name like ‘孙_’

Select * from students where name like%乔’

Select * from students where name like%%Select * from students where hometown in(‘北京’,’上海’,’广东’)

Select * from students where age between 18 and 20

Select * from students where card is null

Select * from students where card is not null

Select * from students order by age 

Select * from students order by age desc,studentNo 

聚合函数:

Select count(*) from students;

Select max(age) from students where sex=’女’;

Select min(age) from students where class=1班’;

Select sum(age) from students where hometown=’北京’;

Select avg(age) from students where sex=’女’;

Select sex,count(*) from students group by sex;

Select age,count(*) from students group by age;

Select count(*) from students where sex=’男’;

Select sex,count(*) from students group by sex having sex=’男’

Select * from students limit 0,3

连接查询(等值连接、左连接、右连接)

Select * from students stu,scores sc where stu.studentNo = sc.studentNo

Select * from students stu inner join scores sc on stu.studentNo = sc.studentNo

Select * from course cs inner join scores sc on cs.courseNo = sc.courseNo

Select * from students stu inner join scores sc on stu.studentNo = sc.studentNo inner join course cs on cs.courseNo = sc.courseNo

Select stu.name,cs.name,sc.score from students stu inner join scores sc on stu.studentNo = sc.studentNo inner join courses cs on sc.courseNo = cs.courseNo where cs.name = ‘数据库’

Select stu.name,cs.name,sc.score from students stu,scores sc,courses cs where stu.studentNo = sc.studentNo and sc.courseNo = cs.courseNo and stu.sex = ‘男’ order by sc.score desc limit 1

自关联

Select * from areas as p inner join areas as c on c.pid=p.aid where p.atitle=’河北省’;

Creat tale if not exists goods_cates(cat_id int unsigned primary key auto_increment,cat_name varchar(40))

数据库设计 E-R模型(实体、联系和属性)

Mysql -uroot -p

Show databases;

Use 数据库名;

Select database();

Create database ceshi charset=utf8;

Drop database ceshi;

Show tables;

Show create table 表名;   Desc 表名;   查看表的结构

Mysql -uroot -p ceshi.back < ceshi.sql

8.面向对象编程(oop)

面向对象编程是一种解决软件复用的设计和编程方法。这种方法把软件系统中相近相似的操作逻辑和操作应用数据、状态,以类的形式描述出来,以对象实例的形式在软件系统中复用,以达到提高软件开发效率的作用。

9.物理地址(Mac地址)以太网适配器 -以太网对应的物理地址是有线的Mac地址,无线局域网适配器-WLAN的物理地址是无线的Mac地址。Win10 可以在网络连接里查看“查看硬件和连接属性”

10.基础概念

软件测试:在规定的条件下对程序进行操作,从而发现问题,对软件质量进行评估的过程。

软件测试的目的:以最少的人力、物力和时间找到软件中的缺陷并修改,从而回避商业风险。

软件质量模型(ISO9126)六大特性:功能性、可靠性(尽量不出问题;出了问题不能影响主体功能;影响了主体功能,要能尽快修复)、易用性(用户体验要好)、可维持性(更新)、可移植性、效率

QC和QA

11.软件测试的基本流程

需求分析—编写测试用例—评审测试用例—搭建测试环境—部署开发发来的测试包—冒烟测试—执行测试用例—bug跟踪处理—n轮后符合需求,写报告,结束测试

12.web前端标准(html结构搭建+css网页美化+js行为动作)

参照视频总结或笔记

13.自动化测试的有点?分类?

缩短测试的周期;避免人为的出错;测试信息的存储;轻易获取覆盖率,其他

自动化功能测试(单元测试、功能测试、接口测试):主要是编写代码、脚本,让软件自动运行,发现缺陷,代替部分的手工测试。一般大项目才需用。

自动化性能测试:主要是使用测试工具,loadrunner、jmeter等对软件进行压力测试、负载测试、强度测试等

14.HTML和XML

超文本标记语言:设计为显示数据以及如何更好地显示数据。

可拓展标记语言:设计为传输和存储数据,焦点是数据点额内容。

15.selenium

Selenium是一个强大的开源web功能测试工具系列,采用JavaScript来管理真个测试过程,包括读入测试套件、执行测试和记录测试结果。直接运行在浏览器中,像真正的用户在操作一样。

Selenium工作原理、组件(IDE、RC、Webdriver、Grid)

Webdriver的工作原理:用户操作web application过程,webdriver通过浏览器的原生组件,转化web service的命令为浏览器native的调用来完成操作。脚本运行后,会打开指定的浏览器,webdriver会将目标浏览器绑定到特定端口,启动后的浏览器作为webdriver的remote server,接受测试脚本的命令。客户端(即测试脚本)通过command executor发送http请求给server。

16.unittest框架

Test fixture:代表了用例执行前的准备工作和用例执行后的清理工作。

Test case:测试用例。是测试的最小单位,一般检查一组输入的响应是否符合预期。

Test suit:测试套件。测试用例的集合,用来把需要一起执行的用例组合到一起。

Test runner:用来执行测试用例并输出测试结果。图形界面、命令行界面。

通过继承unittest.TestCase进行编写,setUp和TearDown用于事前和事后做相关处理动作,会在每个测试用例运行前后被框架自动调用。所有以test开头的方法会被框架自动识别为测试用例并自动执行,不是以test开头的不会被调用。Unittest.main()是最简单的测试执行方式。

用assertEqual()来判断预期结果,用assertTrue和assertFalse来做是非判断。

Unittest和selenium结合

(例:1.Commonlib目录存放通用木块(封装的selenium模块)

​ 2.创建Business目录,根据业务创建测试功能模块

​ 3.创建Testcase目录存放测试用例

17.接口测试

接口吃啥是测试系统组件间接口的一种测试。测试的重点是数据的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系。

本质是基于某种协议,发送一个request请求给服务器,然后服务器返回一个response响应数据,然后对该响应数据进行分析,判断是否与我们预期的返回结果一致,从而验证功能是否正确。

20.restful架构风格

资源 统一接口 url

22.算法

算法是独立存在的一种解决问题的方法和思想。

五大特性:输入(0或多个输入)、输出(至少1个输出)、有穷性(步骤是有限的,时间可以被接受)、确定性(每一步都有确定的含义)、可行性(每一步都可行)

时间复杂度的几条基本计算规则:

1.基本操作,即只有常数项,认为其时间复杂度为O(1);

2.顺序结构,按加法计算;

3.循环结构,按乘法计算;

4.分支结构,取最大值;

5.判断一个算法的效率时,往往只需要关注操作数量的最高次项,其他次要项和常数项可以忽略;

6.没有特殊说明时,通常指最坏时间复杂度。

空间复杂度S(n)是对一个算法在运行过程中临时占用存储空间大小的度量。

O(1) < O(longn) < O(n) < O(nlongn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)

23.数据结构

数据结构只是静态地描述了数据元素之间的关系

程序 = 数据结构 + 算法

算法是为了解决实际问题而设计的,数据结构是算法需要处理的问题载体。

抽象数据类型(ADT):是指一个数学模型以及定义在此模型上的一组操作。也就是把数据类型和数据类型上的运算捆在一起,进行封装。

线性表:根据线性表的实际存储方式,可分为两种实现模型(顺序表和链表)

顺序表,将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由他们的存储顺序自然表示;元素存储区扩充的两种策略:每次增加固定数目的存储位置(节省空间,但操作频繁);每次扩充按倍数增加(减少了操作次数,但可能造成空间资源的浪费。以空间换时间,推荐的方式)。

链表,将元素存放在通过链接构造起来的一系列存储块中。单向链表(每个节点包括信息域和链接域。前驱结点、后继节点),双向链表,单项循环链表。

栈:是一种容器,可存入数据元素、访问元素、删除元素,特点是只能在容器的一端(top)进行加入数据(push)和输出数据(pop)的运算。按照后进先出(LIFO)的原理运作。

队列。(FIFO)。双端队列。

排序算法是一种能将一串数据按特定顺序进行排序的算法。稳定性:稳定性排序算法会让原本有相等键值的记录维持相对次序。

冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序。的原理与python代码实现。

24.Redis

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存也可持久化的日志型、key-value型数据库,并提供多种语言的API。Key是字符串类型,Value包括string(字符串)、list(链表)、set(集合)、zset(有序集合)和hash(哈希类型)。Redis是一个内存中的数据结构存储系统,它可以用作数据库、缓存和中间件。

25.二分查找(折半查找)

二分查找的前提是有序序列-顺序表O(1)。非递归版本和递归版本的代码实现。

树:

节点的度:一个节点含有的子树的个数。

树的度:一个树中,最大的节点的度。

节点的层次:根为第1层,依次往下为第2、3……层

树的深度:节点的最大层次

森林:多个树组合在一起

无序树和有序树

有序树:二叉树(完全二叉树-满二叉树、平衡二叉树、排序二叉树)、霍夫曼树、B树

常用的引用场景:

1.xml、html等,编写这些东西的解析器时,不可避免用到树;

2.路由协议;

3.MySQL数据库索引;

4.文件系统的目录结构;

5.很多经典的AI算法,机器学习汇总的decision tree也是树结构;

二叉树的几条特性

二叉树的广度优先遍历

二叉树的深度优先遍历(先序遍历:根-左-右、中序遍历:左-根-右、后序遍历:左-右-根)

26.POM(PageObjectModule,PO,POM,页面对象模型)自动化测试设计。

POM是目前业内应用最为主流的UI自动化测试框架设计模式,在接口自动化测试中,最主流的叫关键字驱动。POM就是将所有的页面作为对象,组合串联这些对象,实现所有的测试流程的自动化。

POM设计模型的实现:

工程结构设计:

​ 1.基类:作为一个工具类,提供所有的页面对象可供使用的函数;

​ 2.页面对象类:提取系统中所有可供自动化测试的页面,实现每一个页面的内容封装,包括元素、操作行为等一系列内容;

​ 3.测试用例类:管理该系统下所有的自动化测试用例,即所谓的测试代码;

​ 4.测试数据类:管理在测试过程中所关联的所有测试数据

PS:自动化测试中,所有的内容一定要遵循代码与数据分离,逻辑代码与测试代码分类的结构形态。

1.PO模型更关注的页面、元素抽象成代码,在代码级别的复用上会简单些,但编码能力要求会更高一些。

2.关键字模型(Keyword driver testing,KDT),更关注的是业务流程,其实很多企业也是如此,我们只需在Excel文件中将测试用例维护好,而需要编写的脚本量非常小,如果页面有变动,只需要维护Excel表格中的用例数据即可,而脚本基本不需要变动。关键字驱动的核心就是对测试用例(步骤)进行拆分:

​ a.测试步骤中的对象(Test Object)

​ b.测试对象执行的动作(Action)

​ c.测试对象需要的数据(Test Data)

27.http网络协议(参考文档)

网络协议交互的4个步骤。

Cookie、session、token

接口关联

单接口与多接口的交互

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

测试工程师(初&中)面试题+知识点 的相关文章

  • 软件测试开发/全日制/测试管理丨接口测试抓包与 Mock/接口自动化测试

    在软件开发中 接口测试是确保系统各个组件之间协同工作的重要环节 接口测试抓包与Mock以及接口自动化测试相结合 能够更全面 高效地验证接口的正确性 性能和稳定性 从而打造一个稳健的接口生态系统 接口测试抓包 接口测试抓包是一种通过监控和记录
  • “性能压测揭密:关键指标分析!“

    在进行全链路压测和性能测试时 需要关注多个关键性能指标 KPIs 来评估系统的性能表现 以下是一些常见的性能测试指标 1 吞吐量 Throughput 系统在单位时间内能够处理的请求数量或事务数量 通常以每秒请求数 RPS TPS 来衡量
  • Python 如何安装Selenium(推荐)

    一 Selenium的定义 Selenium 是一个 Web的自动化测试工具 最初是为网站 自动化测试而开发的 Selenium 可以直接调用浏览器 它支持所有主流的浏览器 包括PhantomJS 这些无界面的浏览器 可以接收指令 让浏览器
  • 软件测试开发/全日制/测试管理丨用户端 Web 自动化测试

    随着Web应用的普及和不断发展 用户端Web自动化测试成为确保Web应用质量的重要手段 这种测试方法不仅提高了测试效率 也帮助团队及时发现和解决潜在问题 确保用户体验的连贯性和稳定性 工具选择 用户端Web自动化测试的第一步是选择适当的工具
  • 【软件测试】学习笔记-高效提交Bug

    本篇文章介绍如何才能写出一份高效的软件缺陷报告 测试工程师需要利用对需求的理解 高效的执行力以及严密的逻辑推理能力 迅速找出软件中的潜在缺陷 并以缺陷报告的形式递交给开发团队 缺陷报告是测试工程师与开发工程师交流沟通的重要桥梁 也是测试工程
  • 小白也能学会的创建Git仓库实操

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • RF自动化环境安装+自动化实例解析

    RF定义 通用型的 自动测试框架 绝大部分的软件的的自动化系统都可以采用它 特点 测试数据文件 Test Data 对应一个个的测试用例 测试数据文件里面使用的功能小模块叫关键字 由测试库 Test Library Robot Framew
  • Python自动化操作:简单、有趣、高效!解放你的工作流程!

    今天跟大家分享一套自动化操作流程解决方案 基于 Python语言 涉及 pyautogui pyperclip pythoncom win32com 依赖包 安装命令为 pip install pyautogui pip install p
  • 新入职一个00后卷王,每天加班到2点,太让人崩溃了····

    在程序员职场上 什么样的人最让人反感呢 是技术不好的人吗 并不是 技术不好的同事 我们可以帮他 是技术太强的人吗 也不是 技术很强的同事 可遇不可求 向他学习还来不及呢 真正让人反感的 是技术平平 却急于表现自己的人 每天加班到12点 在老
  • 软件测试|深入了解Python中的super()函数用法

    简介 Python中的super 函数是一种强大的工具 用于在子类中调用父类的方法 它在面向对象编程中非常有用 可以让你轻松地扩展和重用现有的类 本文将详细介绍super 函数的用法 并提供一些示例来帮助你更好地理解它的功能 什么是supe
  • 软件测试|sqlalchemy relationship

    简介 SQLAlchemy是一个流行的Python ORM 对象关系映射 库 它允许我们以面向对象的方式管理数据库 在SQLAlchemy中 relationship 是一个重要的功能 用于建立表之间的关系 在本文中 我们将详细探讨 rel
  • 软件测试|使用matplotlib绘制多种柱状图

    简介 在数据可视化领域 Matplotlib是一款强大的Python库 它可以用于创建多种类型的图表 包括柱状图 本文将介绍如何使用Matplotlib创建多种不同类型的柱状图 并提供示例代码 创建基本柱状图 首先 让我们创建一个基本的柱状
  • 测开和测试平台是否有存在的必要?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 如何写好一个错误报告

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • msyql 异常,别干着急,70%的问题都在这里!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 摸爬滚打多年的打工人,总结了三条职场真理,绝不假大空!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 软件测试中的白盒测试,这些技巧你知道吗?

    对于很多刚开始学习软件测试的小伙伴来说 如果能尽早将黑盒 白盒测试弄明白 掌握两种测试的结论和基本原理 将对自己后期的学习有较好的帮助 今天 我们就来聊聊黑盒 白盒测试的相关话题 1 黑盒测试的方法和小结 最常见黑盒测试方法包括 边界值 等
  • 一文让你了解UI自动化测试

    测试都起什么作用 是项目的保险 但不是项目的救命草 测试无实际产出 但作用远大于实际产出 测试是从项目维度保证质量 而不是测试阶段 UI自动化 下面简称自动化 基于UI进行自动功能测试 以Web端作为例子 一般的UI功能自动化都是基于HTM
  • Web自动化测试 —— cookie复用

    一 cookie简介 cookie是一些数据 存储于用户电脑的文本文件中 当web服务器想浏览器发送web页面时 在链接关闭后 服务端不会记录用户信息 二 为什么要使用Cookie自动化登录 复用浏览器仍然在每次用例开始都需要人为介入 若用
  • UI自动化测试之Jenkins配置

    背景 团队下半年的目标之一是实现自动化测试 这里要吐槽一下 之前开发的测试平台了 最初的目的是用来做接口自动化测试和性能测试 但由于各种原因 接口自动化测试那部分功能整个废弃掉了 其中和易用性有很大关系 另外 也和我们公司的接口业务也有关

随机推荐

  • matlab中hash和map的用法总结

    若要在matlab中使用hash 有两种方式 1 采用matlab官方给出的结构类型map containers Map http cn mathworks com help matlab map containers html 2 调用J
  • 到底要不要孩子学习机器人编程

    人工智能发展迅猛 很多技术已经成熟应用到我们生活场景中 如果再不从小让孩子学习机器人编程教育 掌握更多编程语言 那未来就out啦 格物斯坦小坦克可以告诉你关于机器人编程要不要学的答案 教育部也将启动中小学生信息素养测评 并推动在中小学阶段设
  • uni-app利用chooseImage方法封装一个图片选择组件

    效果如图 可以预览 长按可删除 可以设置最多上传数量 这里封装的组件有个MaxNumber number类型 用的时候在父组件传就行了 这里默认给的8 废话不多说直接上代码 封装好了之后我们用的时候只需要引入直接用就行
  • 从etcd看Raft协议

    首先 什么是etcd 看官方的定义 A highly available key value store for shared configuration and service discovery 翻译过来就是 用于配置共享和服务发现的K
  • 动态规划(五)

    01背包问题 01 Knapsack problem 有10件货物要从甲地运送到乙地 每件货物的重量 单位 吨 和利润 单位 元 如下表所示 由于只有一辆最大载重为30t的货车能用来运送货物 所以只能选择部分货物配送 要求确定运送哪些货物
  • 如何快速画AltiumDesigner封装——用Ultralibrarian生成库文件---官网最新打开方式

    如何用Ultralibrarian生成库文件 官网最新打开方式 步骤1 下载元器件 步骤2 AltiumDesigner生成库文件 Ultralibrarian软件比较常用的生成库文件的软件 网上对于它的介绍大多还停留在软件使用层面上 但官
  • 区块链的工作流程

    工作流程 通过前两篇文章 相信大家对区块链有了基本的认识 区块链系统有很多种 第一个应用区块链的软件就是比特币 事实上区块链就是比特币带出来的 到现在为止 已经出现很多基于区块链的系统了 比如超级账本 以太坊等 每一类系统都有自己的特点 无
  • 雪花算法生成ID

    雪花算法生成ID Snowflake 雪花算法是由Twitter开源的分布式ID生成算法 以划分命名空间的方式将64 bit位分割成多个部分 每个部分代表不同的含义 而Java中64bit的整数是Long类型 所以在Java中 SnowFl
  • [网络安全]sqli-labs Less-2 解题详析

    网络安全 Less 2 GET Error based Intiger based 基于错误的GET整型注入 判断注入类型 判断注入点个数 查库名 查表名 查users表的列名 查字段 注意 总结 往期回顾 网络安全 sqli labs L
  • TensorRT简介

    一 什么是TensorRT 一般的深度学习项目 训练时为了加快速度 会使用多 GPU 分布式训练 但在部署推理时 为了降低成本 往往使用单个 GPU 机器甚至嵌入式平台 比如 NVIDIA Jetson 进行部署 部署端也要有与训练时相同的
  • 【设计模式】工厂方法模式(C#)

    设计模式 工厂方法模式 1 概述 针对简单工厂中的缺点 使用工厂方法模式就可以完美的解决 完全遵循开闭原则 定义一个用于创建对象的接口 让子类决定实例化哪个产品类对象 工厂方法使一个产品类的实例化延迟到其工厂的子类 工厂方法模式的主要角色
  • 解决gensim fasttext官方案例报错TypeError: Either one of corpus_file or corpus_iterable value must be provide

    完整报错为 TypeError Either one of corpus file or corpus iterable value must be provided 解决方法 将官方案例中传递参数时指定的sentences 删除即可 比如
  • Recyclerview源码深入探索:Adapter的增删改再也不迷路

    作者 maxcion 看到标题说的是三级缓存 有的地方说是四级缓存 请你不要迷惑 到底是三还是四 这就像图片加载这个场景有人说是三级缓存有人说是二级缓存 说三级缓存是把通过网络请求图片这个环节也认为是一层缓存 你认为这个环节应该不应该属于缓
  • 基于Qt、C++的毕业设计课设数学绘图工具(平面图、图表、立体图绘制-附下载链接)

    基于Qt C 的毕业设计课设数学绘图工具 平面图 图表 立体图绘制 介绍 这是我的毕业设计 基于Qt Creator 4 11 1 c 语言 效果图如下 点我下载项目源码 含打包软件 使用说明 1 二维函数绘制 开始界面 函数设置 输入界面
  • MySQL免安装配置教程(win10)

    一 下载安装包 1 1 下载zip包 打开官网地址下载zip安装包 这里下载的版本是5 7 可自行选择 对应下载网址 https downloads mysql com archives community 根据自己电脑进行选择对应安装包
  • 周志华《机器学习》笔记(第4章) 决策树

    第四章 决策树 1 总述 决策树基于树结构进行决策 叶结点对应于决策结果 其他每个结点对应于一个属性测试 每个结点包含的样本集合根据属性测试的结果被划分到子结点中 最终目的是产生一个泛化能力强 能够处理未知样本的决策树 基本流程遵循简单而直
  • XSS学习

    目录 什么是XSS 概念 理解 XSS分类 存储型XSS 反射型XSS 原理 攻击过程 DOM型 攻击过程 DOM行XSS与反射型XSS区别 存储型XSS与反射型XSS区别 DVWA实验 反射型XSS low等级 JavaScript弹窗函
  • 2013年第四届C/C++ A组蓝桥杯省赛真题解析

    目录 第一题 高斯日记 题目描述 思路分析 AC代码 第二题 排它平方数 题目描述 思路分析 AC代码 第三题 振兴中华 题目描述 思路分析 AC代码 第四题 颠倒的价牌 题目描述 思路分析 AC代码 第五题 前缀判断 题目描述 思路分析
  • 将文件从本机上传到虚拟机中Linux系统中的几种方法

    一 使用FileZilla上传文件 1 启动虚拟机 打开Linux终端 输入ifconfig命令查看IP地址 IP地址为192 168 59 6 2 打开FileZilla 输入IP地址 用户名 密码 端口号 点击快速连接 连接成功后 左边
  • 测试工程师(初&中)面试题+知识点

    说明 记录下个人开始转行自学 gt 开始求职期间主要的学习内容 涵盖了 计算机基础 测试基础 自动化测试等 初中级测试 20年夏更新 需要掌握的大部分内容 巩固基础与按知识点自查时可选择性参考 一 面试题 1 请分别介绍一下单元测试 集成测