覆盖17类面试题小结
1、测试概论
1、描述缺陷的管理流程
提交缺陷–评审缺陷–分配缺陷–分析修改缺陷–确认缺陷–关闭缺陷
2、缺陷单包含哪些要素
摘要、提交人、发现时间、严重程度、优先级、重现步骤、所属模块、测试版本、测试类型、引入阶段、状态
3、针对QQ登录编写两用例(正向的和反向的)
根据用例八大要素编写(用例编号、测试项、测试标题、优先级、预置条件、输入、操作步骤、预期结果)可以考虑正确的账号密码登录,可以考虑正确的账号错误的密码登录或者不存在的账号登录。
2、测试分析方法
1、为什么做测试分析
测试分析能够明确具体要做的测试工作,从不同的角度分析要测试的内容,防止测试的遗漏。
2、针对使用过的软件进行测试分析找出测试项
质量模型分析(功能、性能、界面、安装、更新、卸载。。。。。);不同的用户角度;分析功能之间的关系是否有功能的交互。
3、某家公司针对目前的商业发展趋势决定升级CRM系统,如果你是CRM的测试人员从哪些渠道获取测试需求
软件需求规格说明书、设计文档、市场上类似的CRM系统软件、以前版本的CRM的需求和案例库、缺陷报告
3、测试设计方法
1、用等价类划分法边界值分析法设计微信朋友圈发图片
有效等价类(图片的格式,尺寸范围,数量范围);无效等价类(不支持图片格式,不支持尺寸大小,超出9张);边界值(9张;10张)
2、用判定表法设计朋友圈的用例
图片、文字、链接、音频、视频的各种组合发送
3、在淘宝购物,想通过搜索获得商品信息。搜索的内容包括评价、价格、包邮、地区,用什么设计方法比较恰当
正交实验法
4、用状态迁移图法设计电梯的运行测试用例
上行、下行、停、停在一楼、直接去一楼
4、测试计划
1、测试计划的作用是什么
所有测试需求都已被标识出来;
测试的工作量已被正确评估并合理地分配了人力、物力资源;
测试的进度安排是基于工作量评估的、适用的;
测试启动、停止的准则已被标识;
测试输出的工作产品是已标识的、受控的和适用的。
2、如何安排测试任务
任务:用简洁的句子对任务加以说明;
方法和标准:指明执行该任务时,应采用的方法以及所应遵循的标准;
输入/输出:给出该任务所必需的输入及输出;
时间安排:给出任务的起始及持续的时间,为方便文档维护,建议采用相对时间,即任务的起始时间是相对于某一里程碑或阶段的相对时间;
资源:给出任务所需要的人力和物力资源,工作量应明确到"人天";
风险和假设:指明启动该任务应满足的假设以及任务执行可能存在的风险;
角色和职责:指明由谁负责该任务的组织和执行,以及谁将担负怎样职责。
3、如何确定测试对象
从软件质量的模型和被测试业务模块两个角度确定。
5、测试方案
1、测试方案的作用是什么
指导测试人员如何编写测试用例、搭建测试环境、准备测试数据、执行测试用例。
2、测试方案中有哪些测试需求
环境需求、被测对象需求、测试工具需求、测试代码需求、测试数据需求。
3、测试方案中的哪一部分内容是对搭建环境的描述的
测试组网图
6、测试执行
1、如何准备测试数据
手工录入、导入生产环境数据、在数据库创建账号
2、测试报告的内容有哪些
概述、测试时间、地点、人员、环境描述、总结和评价、测试过程质量统计评估、软件产品质量统计评估、系统测试综合评价、系统测试遗留问题报告
7、MySQL
1、假设数据库中有两张表,a表和b表,说明使用内连接、左连接、右连接关键字
内连接关键字 inner join
左连接关键字 left join
右连接关键字 right join
2、假设有13条数据,查询显示从第十条开始显示4条数据
使用分页查询 select * from student limit 9,4
3、什么是MySQL慢查询日志
当语句执行时间较长时,通过日志的方式进行记录,这种方式就是慢查询的日志。
这句代码 set global slow_query_log = on; 可以开启慢查询日志。
8、MongoDB
1、MongoDB三元素指的是什么
数据库、集合和文档。数据库里存放的是集合,集合里存放的是文档,数据存放在文档里,以键值对的方式。
2、MySQL与MongoDB的差别是什么
MySQL和MongoDB两者都是免费开源的数据库。MySQL和MongoDB有许多基本差别包括数据的表示(data representation),查询,关系,事务,schema的设计和定义,标准化(normalization),速度和性能。通过比较MySQL和MongoDB,实际上我们是在比较关系型和非关系型数据库。
MySQL是传统的关系型数据库,有数据库、表、记录三个层次组成,所用语句为传统的SQL语句,但是在海量数据处理时效率会有所下降。
MongoDB是文档型数据库,有数据库、集合、文档三个层次构成,没有表结构的概念,文档内容可以非常灵活的定制,适用于事件记录、内容管理或博客平台等。
3、什么是MongoDB
MongoDB是由C++语言编写的一款开源的文档数据库,适合存储海量数据,旨在为Web应用提供可扩展的高性能数据存储解决方案。
9、Linux
1、如何查看当前系统都有哪些进程
ps -aux 或者 ps –elf
2、想修改ip,需要编辑哪个配置文件,修改完配置文件后,如何重启网卡,使配置生效
使用vi或者vim编辑器编辑网卡配置文件
/etc/sysconfig/network-scripts/ifcft-eth0(如果是eth1文件名为ifcft-eth1)
修改网卡后,可以使用命令重启网卡:ifdown eth0 && ifup eth0
(请将两者连在一起使用,不能单独使用。原因:生产环境中,我们的服务器都是放在机房,没有在办公室;如果关闭了网卡,那就可能不能连接服务器了。)
也可以重启网络服务:service network restart
3、tar命令是打包还是压缩命令
对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。
加 -z :可以具有 gzip 的属性,也就是用 gzip 压缩或解压。
一般格式为 xx.tar.gz 或 xx.tgz
10、Docker
1、容器退出后,数据会丢失么
容器退出后会处于终止(exited)状态,此时可以通过 docker ps -a 查看,其数据不会丢失,还可以通过 docker start 来启动,只有删除容器才会清除数据。
在这里还要注意开启容器的时候是否添加了 --rm 参数。
2、可以在一个容器中同时运行多个应用进程吗
一般不推荐在同一个容器内运行多个应用进程。单个容器被设计用来一个应用程序。
3、如何批量删除或者停止运行的容器
docker container rm $(docker ps –a);docker container stop $(docker ps –a)
11、Python
1、介绍一下Python下range()函数的用法
Python的range()函数用于生成一个整数序列,一般用在for循环中。
2、列表和元组之间的区别
二者的主要区别是列表里存储的数据是可变的,而元组是不可变的。定义列表使用中括号将数据括起来,定义元组使用小括号。
3、Python中的pass语句是什么
在用Python写代码时,有时可能还没想好函数怎么写,只写了函数声明,但为了保证语法正确,必须输入一些东西,在这种情况下,我们会使用pass语句。
4、解释一下Python中的继承
当一个类继承自另一个类,它就被称为一个子类(或派生类),继承的类称为父类(或基类或超类)。它会获取父类的属性和方法,还可以定义自己的属性和方法。
12、Web测试
1、有一个登陆页面,输入用户名和密码后,点击登陆按钮登陆。请针对这个登陆功能,设计测试用例。
(1)输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。
(2)输入错误的用户名或者密码, 验证登录会失败,并且提示相应的错误信息。
(3)登录成功后能否跳转到正确的页面
(4)用户名和密码,如果太短或者太长,应该怎么处理
(5)用户名和密码,中有特殊字符,和其他非英文的情况
(6)记住用户名的功能
(7)登陆失败后,不能记录密码的功能
(8)用户名和密码前后有空格的处理
(9)密码是否以星号显示
2、压力测试和负载测试的区别
负载测试关注的是不同负载水平的系统的性能指标。为了得到压力数确定下的性能指数。例如我们可以找到系统的最大用户数和最佳用户数。
压力测试则是关注在超高负载(超过系统最大用户数)的情况下,系统是否还能稳定处理,如果不能稳定处理,那么系统还能坚持多久。其重点是关注系统是如何失效的,以便于制定系统正式上线后的风险控制措施。
3、虽然易用性测试带有主观判断,总结几条易用性测试可以参照的测试规则
(1)明确最终用户,客户端软件的报错提示不能过于专业。
(2)图形测试:图片的大小和显示。
(3)辅助功能测试:使用说明、导航、站点地图、帮助等。
(4)区域文化:符合软件使用地区的风俗和宗教习惯。
(5)考虑用户群体:儿童(活泼),老人(字大,字少),年轻人(时尚)。
(6)考虑业务配色特点:商业(稳重的色彩)、游戏(活泼的色彩)、环保(绿色)、女性(粉色)。
(7)不要出现水平滚动条。
(8)重要信息或大纲级的内容需高亮显示。
(9)使用不同大小字体,以免找不到重点。
13、Selenium
1、什么是断言,请至少写出5个unittest下的断言,并解释其含义
断言可以简单理解为预期结果和实际结果的比较。如果预期等于实际,断言通过,测试报告上记录pass;如果预期不等于实际,断言失败,测试报告上记录fail。
assertEqual:如两个值相等,则pass。
assertNotEqual:如两个值不相等,则pass。
assertTrue:判断bool值为True,则pass。
assertFalse:判断bool值为False,则Pass。
assertIsNone:不存在,则pass。
assertIsNotNone:存在,则pass。
assertIs(arg1, arg2, msg=None):验证arg1、arg2是同一个对象,不是则fail。
assertIsNot(arg1, arg2, msg=None) 验证arg1、arg2不是同一个对象,是则fail。
assertIn(arg1, arg2, msg=None) 验证arg1是arg2的子串,不是则fail。
assertNotIn(arg1, arg2, msg=None) 验证arg1不是arg2的子串,是则fail。
2、关于多窗口的常见操作方法有哪些,并分别介绍其用法
current_window_handle 获得当前窗口句柄。
window_handles 获得所有窗口句柄。
switch_to_window() 切换到另外一个窗口,需要将窗口句柄传递给此方法。
3、Selenium(Python版)开展自动化测试时使用的unittest框架有几个组成部分,分别有什么作用
test fixture 测试固件,定义了一些有固定用法的方法。
test case 测试用例,方法必须以test开头,该测试类必须继承TestCase类,是测试的核心部分。
test suite 测试套件/测试集合,定义了一些方法用来收集脚本,其本身是一个可迭代对象。
test runner 测试运行器,与test suite配套使用,用来执行测试集合。
4、Select类中,关于进行下拉框选择的常见方法有哪些
select_by_value 根据选项的value属性值进行选择。
select_by_index 根据选项的索引位置进行选择。
select_by_visible_text 根据选项的可见文本值进行选择。
14、Jmeter
1、什么时候可以进行性能测试
功能测试通过;一般需要进行性能测试的系统,都是用户量比较大、业务使用比较频繁、比较重要的功能模块。
2、什么是Jmeter的集合点,设置集合点有什么意义
在性能测试过程中,需要模拟大量用户在同一时刻,访问系统并同时操作某一任务,可以通过配置集合点来实现,多个用户同时进行某操作;集合点可以在服务器上创建密集的用户负载,使Jmeter能够测试服务器在负载状态下的性能。
3、性能测试包含了哪些测试(至少举出3种)
(1)负载测试(Load Testing):负载测试关注的是不同负载水平的系统的性能指标。为了得到压力数确定下的性能指数。例如我们可以找到系统的最大用户数和最佳用户数。
(2)压力/强度测试(Stress Testing):压力测试则是关注在超高负载(超过系统最大用户数)的情况下,系统是否还能稳定处理,如果不能稳定处理,那么系统还能坚持多久。其重点是关注系统是如何失效的,以便于制定系统正式上线后的风险控制措施。
(3)配置测试(Configuration Testing):在不同的软件、硬件以及网络环境配置下,通过运行一种或多种业务在一定的虚拟用户数量情况下,获得不同配置的性能指标,用于选择最佳的设备及参数配置。
(4)容量测试(Volume Testing):目的是通过测试预先分析出软件中某指标的极限值(如最大并发用户数、数据库记录数等),保证系统在其极限状态下没有出现问题并能正常运行。
(5)基准测试(Benchmark Testing):在一定的软件、硬件及网络环境下,模拟一定数量虚拟用户运行一种或多种业务,将测试结果作为基线数据,在系统调优或者系统评测过程中,通过运行相同的业务场景并比较测试结果,确定调优是否达到效果或者为系统的选择提供决策数据。
(6)并发测试(Concurrency Testing):通过模拟多个用户并发访问同一个应用、同一个存储过程或数据记录以及其他并发操作,测试是否存在死锁、数据错误等故障。
4、请简述使用Jmeter实现参数化的方式(至少举出2种)
通过前置处理器参数化、通过CSV Data Set Config参数化、借助函数助手方式采用随机参数化。
(1)通过前置处理器参数化步骤:
a)Badboy录制论坛登陆的脚本;
b)导入Jmeter;
c)添加-前置处理器-用户参数;
d)设置参数:添加变量和用户;
e)在脚本中用参数替代文本;
f)设置循环次数;
g)添加"察看结果树"并运行。
(2)通过CSV Data Set Config参数化步骤:
a)Badboy录制论坛登陆的脚本;
b)导入Jmeter;
c)制作含有三组登录名和密码的txt文件;
d)添加-配置元件-CSV Data Set config;
e)设置参数:添加变量和用户;
f)在脚本中用参数替代文本;
g)设置循环次数;
h)添加"察看结果树"并运行。
(3)借助函数助手方式采用随机参数化步骤:
a)Badboy录制论坛发帖的脚本;
b)导入Jmeter;
c)选项-函数助手对话框;
d)设置RandomString;
e)生成函数字符串;
f)把论坛发贴的title替换成函数字符串;
g)设置循环次数;
h)添加"察看结果树"并运行。
15、微信小程序
1、什么是微信小程序,简述它的优点和缺点
小程序是一个不需要下载安装就可使用的应用。它实现了应用触手可及的梦想,用户扫一扫或者搜一下即可打开应用。
优点:
(1)少了安装app的麻烦;
(2)释放手机内存;
(3)让手机桌面更简洁。
缺点:
(1)小程序的体系整体依赖于微信;
(2)小程序不能承载所有的用户需求;
(3)消息推送的诸多限制。
2、简述微信小程序跟公众号、订阅号、服务号的区别
公众号指的是能被公众看到的信息平台,范围最广,包括了小程序、订阅号和服务号。
订阅号:是用户在微信中订阅文章所使用的公众账号。订阅号可以向用户推送文章和信息;可以管理订阅用户,与用户交流;是一种媒体属性的产品。
服务号:是一种服务导向的公众账号。可以帮助机构在微信中向用户提供服务;可以让用户直接与机构的客户系统进行沟通、为用户提供品牌信息等。
订阅号和服务号以[聊天界面]为基础,它们的功能和界面是早就规定好了的;小程序允许开发者自定义界面,不用局限于微信的聊天界面。
3、简述微信小程序使用到的技术
(1)WXML:微信标记语言:WeiXin Markup Language。类似于HTML,用于描述当前页面结构。
(2)WXSS:微信样式表:WeiXin Style Sheet。类似于CSS,用于描述页面的样式。
(3)JS:JavaScript。用于处理这个页面和用户的交互。小程序的逻辑功能都是使用JS来实现的。
16、Web项目实战
1、描述一下项目的实施过程
熟悉需求–编写系统测试计划–编写系统测试方案–编写系统测试用例–执行测试–提交缺陷–跟踪缺陷–回归测试–编写系统测试报告
2、在过程实施过程遇到的问题
环境问题、测试不全面问题等等
17、Loadrunner
1、简述使用Loadrunner的使用步骤
脚本录制设置—录制脚本—调试脚本—场景设置—执行场景-结果分析
2、什么是场景,场景的重要性有哪些,如何设置场景
场景:模拟真实环境中,用户运行的状况。
(1)通过场景来模拟实际用户的操作,性能测试结果才具有代表性。
(2)在运行过程中也需要关注场景性能测试值,测试过程是否正常。
设置场景:
(1)选择场景中需要的脚本
(2)选择为目标场景,还是指定的手工场景
(3)设置用户数、设置产生负载的设备
(4)设置执行策略
下面是测试资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
好文推荐
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
面试经:一线城市搬砖!又面软件测试岗,5000就知足了…
面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…
什么样的人适合从事软件测试工作?
那个准点下班的人,比我先升职了…
测试岗反复跳槽,跳着跳着就跳没了…
覆盖17类面试题小结相关推荐
- 生成对抗网络(GANs)的资料小结,另附:资源|17类对抗网络经典论文及开源代码(附源码)
1.GANs的一些资料链接 ************************************************** *********************************** ...
- java8获取实现某个接口的所有类_Java 试题八
Java 试题八 1.java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 答:有两种实现方法,分别是继承Thread类与实现Runn ...
- 前端笔试题小结(一)
前端笔试题小结(一) 2020-03-13 题目一: 将一个js数组去重. 样例: 输入:[ 1, "apple", 3, "a", 3, 1, 5, 6, & ...
- 神州数码笔试题C语言,神州数码程序类笔试题分享
神州程序类笔试题分享: 神州数码笔试1)description of the students table: sid_id number start_date date end_date date w ...
- java 字符串 面试_JAVA中String介绍及常见面试题小结
字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. 深刻认识String 1)String为字符串常量:即String对象一旦 ...
- 【牛客】恒生公司2015秋招开发类笔试题
恒生公司2015秋招开发类笔试题(一) 关于windows的消息机制的描述: 只有当一个线程调用Win32 API中的GDI(Graphics Device Interface)和User函数时,操作 ...
- 京东2019春招Java开发类笔试题
京东2019春招Java开发类笔试题 1. (单选题) 在对问题的解空间树进行搜索的方法中,一个结点有多次机会成为活结点的是 ( B ) A. 动态规划 B. 回溯法 C. 分支限界法 D. 回溯法和 ...
- java在gc正常工作的情况下_最新JVM面试题小结,程序猿直呼内行
这篇文章主要介绍了JVM面试题小结(2020最新版),觉得挺不错的,现在分享给大家,也给大家做个参考. Java内存区域 说一下 JVM 的主要组成部分及其作用? JVM包含两个子系统和两个组件,两个 ...
- Java 核心类库面试题
核心类库面试题 数组(Array) 和列表(ArrayList) 有什么区别? 空间大小:Array是否固定,ArrayList是动态增长的. 存储内容:前者可以包含基本类型和对象类型,而后者只能是对 ...
最新文章
- 数据的存入取出(注册机方式)
- 如何在ABAP ALV中具体的控制每个格子中的编辑属性
- Intel Realsense D435 摄像头插入电脑无法监测(识别)的可能原因及解决方案 USB SCP overflow
- 微服务负载均衡实现高可用_使用负载平衡实现大容量可用性
- nginx-1.13.x源码安装
- C++读取INI文件
- 清华大学:2021元宇宙研究报告
- linux命令行经典教程,linux常用命令的经典使用
- 分享几点论文降重的方法(干货)
- 小米平板4刷机win10或linux,小米平板4 win版_小米平板4可以刷win
- PS修改图片上的文字
- 【Python精彩案例】生成动态二维码
- 乐刻运动年陈文化中的那六个成语解析:日拱一卒,功不唐捐|筚路蓝缕 玉汝于成|有梦可依,未来可期
- diy一个android手机版下载,Notch DIY
- windows搜索文件内容的软件推荐
- 灵感 | 设计平平无奇?试试这种方法!
- 如何让图片保持原比例,占满整个盒子
- php 自定义排序,thinkphp6.0自定义排序order by field
- python画笔粗细函数_Python 画图基础操作详解
- 在java中 哈希表会经常出现哈希碰撞吗
热门文章
- android开发分页查询,Android开发中实现分页效果的简单步骤
- python函数代码,这个python函数代码如何工作?
- linux硬盘类型怎么选,如何选择linux系统安装类型
- php异业联盟平台源码,基于ThinkPHP5.1框架开发的B2C在线商城系统PHP源码
- HALCON 20.11:如何处理标定助手品质问题
- 记一次失败的RecycleView滑动定位
- SQL Server 网络协议和 TDS 端点
- 纠结的rename命令
- WampServer64的2.5版本配置多站点
- 经典算法——斐波那契数列