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类面试题小结相关推荐

  1. 生成对抗网络(GANs)的资料小结,另附:资源|17类对抗网络经典论文及开源代码(附源码)

    1.GANs的一些资料链接 ************************************************** *********************************** ...

  2. java8获取实现某个接口的所有类_Java 试题八

    Java 试题八 1.java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 答:有两种实现方法,分别是继承Thread类与实现Runn ...

  3. 前端笔试题小结(一)

    前端笔试题小结(一) 2020-03-13 题目一: 将一个js数组去重. 样例: 输入:[ 1, "apple", 3, "a", 3, 1, 5, 6, & ...

  4. 神州数码笔试题C语言,神州数码程序类笔试题分享

    神州程序类笔试题分享: 神州数码笔试1)description of the students table: sid_id number start_date date end_date date w ...

  5. java 字符串 面试_JAVA中String介绍及常见面试题小结

    字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. 深刻认识String 1)String为字符串常量:即String对象一旦 ...

  6. 【牛客】恒生公司2015秋招开发类笔试题

    恒生公司2015秋招开发类笔试题(一) 关于windows的消息机制的描述: 只有当一个线程调用Win32 API中的GDI(Graphics Device Interface)和User函数时,操作 ...

  7. 京东2019春招Java开发类笔试题

    京东2019春招Java开发类笔试题 1. (单选题) 在对问题的解空间树进行搜索的方法中,一个结点有多次机会成为活结点的是 ( B ) A. 动态规划 B. 回溯法 C. 分支限界法 D. 回溯法和 ...

  8. java在gc正常工作的情况下_最新JVM面试题小结,程序猿直呼内行

    这篇文章主要介绍了JVM面试题小结(2020最新版),觉得挺不错的,现在分享给大家,也给大家做个参考. Java内存区域 说一下 JVM 的主要组成部分及其作用? JVM包含两个子系统和两个组件,两个 ...

  9. Java 核心类库面试题

    核心类库面试题 数组(Array) 和列表(ArrayList) 有什么区别? 空间大小:Array是否固定,ArrayList是动态增长的. 存储内容:前者可以包含基本类型和对象类型,而后者只能是对 ...

最新文章

  1. 数据的存入取出(注册机方式)
  2. 如何在ABAP ALV中具体的控制每个格子中的编辑属性
  3. Intel Realsense D435 摄像头插入电脑无法监测(识别)的可能原因及解决方案 USB SCP overflow
  4. 微服务负载均衡实现高可用_使用负载平衡实现大容量可用性
  5. nginx-1.13.x源码安装
  6. C++读取INI文件
  7. 清华大学:2021元宇宙研究报告
  8. linux命令行经典教程,linux常用命令的经典使用
  9. 分享几点论文降重的方法(干货)
  10. 小米平板4刷机win10或linux,小米平板4 win版_小米平板4可以刷win
  11. PS修改图片上的文字
  12. 【Python精彩案例】生成动态二维码
  13. 乐刻运动年陈文化中的那六个成语解析:日拱一卒,功不唐捐|筚路蓝缕 玉汝于成|有梦可依,未来可期
  14. diy一个android手机版下载,Notch DIY
  15. windows搜索文件内容的软件推荐
  16. 灵感 | 设计平平无奇?试试这种方法!
  17. 如何让图片保持原比例,占满整个盒子
  18. php 自定义排序,thinkphp6.0自定义排序order by field
  19. python画笔粗细函数_Python 画图基础操作详解
  20. 在java中 哈希表会经常出现哈希碰撞吗

热门文章

  1. android开发分页查询,Android开发中实现分页效果的简单步骤
  2. python函数代码,这个python函数代码如何工作?
  3. linux硬盘类型怎么选,如何选择linux系统安装类型
  4. php异业联盟平台源码,基于ThinkPHP5.1框架开发的B2C在线商城系统PHP源码
  5. HALCON 20.11:如何处理标定助手品质问题
  6. 记一次失败的RecycleView滑动定位
  7. SQL Server 网络协议和 TDS 端点
  8. 纠结的rename命令
  9. WampServer64的2.5版本配置多站点
  10. 经典算法——斐波那契数列