如何在自己的服务器上做网站/软文标题
1 介绍之前负责的项目
参考答案:先大概描述一下这个项目是做什么的(主要功能),包括哪些模块,是什么架构的(B/S、C/S、移动端?),你在其中负责哪些模块的测试。期间经历了几个大版本及几个小版本的迭代。
全程参与需求评审、测试用例编写、搭建测试环境、测试、BUG跟踪、上线等环节。在测试过程涉及到常规的功能测试、使用Postman进行接口测试、简单的性能测试等等。
测试过程中也会使用SQL Server(类似的数据库)进行增删改查、使用抓包工具进行抓包、根据后台日志进行数据分析、辅助测试等。
分析:理论上测试人员是最了解产品的,产品经理可能只知道产品的功能、业务,而测试人员除此之外,还熟悉产品内部的实现逻辑。这道题考察你对项目的熟悉程度,以及根据你负责的内容判断你的能力。
写项目经验,要拣有含金量、能体现你能力的写。就算你没有实际的经验,现在网上开源项目那么多,去找个网站、APP从头到尾深入测一遍,撸清楚流程,面试的时候能说得头头是道也可以的。
简历是敲门砖,如果你的简历没有任何突出的地方,大概率连面试的机会都没有的。在成百上千份相似的简历面前,人家为什么偏偏抽中你呢?你的简历要有特点、有亮点。
2 说说你之前公司的研发管理流程
参考答案(常规的流程):
产品经理整理需求文档、绘制产品原型,并组织产品、开发、测试相关人员召开需求评审会议。
评审之后,开发人员开始编写代码,并进行单元测试;测试人员同步开始编写测试用例、评审测试用例。
开发完成后提测,部署到测试环境,测试人员开始测试,包括集成测试、系统测试等等。测试完成后,对测试结果进行分析,编写测试报告,最后产品发版/上线。
上线后持续关注线上产品是否正常运行。
3 如何保证被测产品质量/用例覆盖度
参考答案:
(1)在需求评审阶段,熟悉并分析需求,对每条需求进行拆解,并对有疑问的地方及时和产品经理/BA沟通;
(2)在设计测试用例阶段,我一般根据需求文档用XMind对测试点进行整理,然后再对每个测试点进行测试用例的设计;另外,我们产品经理会在研发管理系统里建立他的需求,我设计测试用例时会将用例关联到需求上面,确保每个需求都有用例覆盖到;
(3)在用例评审阶段,我们一般先组内进行详细的评审;然后召集产品经理、开发一起评审,主要是评审一些业务流程和跨系统的接口,确保大方向没有问题,之后根据评审结果及时修正测试用例;
(4)在测试阶段,我们会有交叉测试,因为每个人考虑问题的角度不一样。另外在测试过程中,如果发现用例有考虑不周全的地方,会及时完善进去;
(5)在BUG修复我们进行验证时,会将这个BUG相关联的部分也测试一下,防止一些代码改动影响到之前的功能;
(6)在上线前,会进行一个深度回归,回归的用例会和开发、产品一起评估决定。
说明与分析:
以上仅供参考,面试的时候随机应变,不要照抄照搬,结合你们公司的情况、说得越全越好。
现在流行测试左移、右移。测试左移,是往测试前的开发阶段移,越早发现不合理的地方,出现问题的几率就越低。
测试右移,是往测试后的发布阶段移,第一时间发现线上的问题并解决。可以在第(2)点之前和第(6)点之后,针对测试左移和右移说说测试人员能做哪些事情、对确保产品质量有什么影响,我想这是一个跳出常规的加分项。
至于如何保证测试用例的覆盖率,可以回答(1)-(4)点,在描述第(2)点时,也可以说说你在设计测试用例时着重要考虑的点。比如,一些软件的业务流程比较复杂,设计测试用例不能只局限于表面的功能,要去深挖,多思考可能出现的场景;再比如一些边界值的测试、异常流程的测试等一些容易忽略的方面。
4 如何判断BUG是前端还是后端
面试官问到这个问题可能会举个例子,比如一个登录界面,输入用户名密码后点击【登录】发现无响应怎么回事?
参考答案:
【首先要明白场景的数据流调用逻辑,这个场景就是前端触发一个操作,然后后端给出响应,最后前端将返回的登录后信息渲染并在界面展示出来。】
答:首先我会用抓包工具 (Fiddler/Charles/浏览器的F12等),看点击登录的时候有没有触发请求,如果没有请求或请求有问题,那就是前端的BUG。
如果前端请求没问题,就看后端返回报文,根据接口文档,返回的数据有误,要具体分析报错的内容。如果是前端传参不对导致的,那就是前端问题,如果传参正确,后端处理不正确,那可能就是后端问题。
如果后端响应了且数据和接口文档一致,那就是前端展示的问题。
总结下来,就是按前→后→前的顺序进行分析。
说明:
类似的问题还有,一个支付功能,支付成功后在我的订单里却没有显示。或者一个查询功能,输入条件查询后没有数据展示出来(先排除是否是因为数据库没有数据导致的)。一般都可以套用上面的回答,都是一个套路。
5 如果你提的BUG开发不认为是BUG怎么办
参考答案:
(1)首先测试人员要确保这确实是个bug(如果是误测,那只能测试人员自己背锅了);
(2)在测试环境将BUG复现出来,保存好截图、相关测试数据,发给开发人员,或直接给开发人员演示一遍;
(3)如果开发人员还认为不是BUG,或者是由于技术问题很难修改的BUG,可以叫上产品经理、开发负责人,一起讨论一下;
(4)对于等级比较低的建议性BUG,可以先记录到BUG管理系统,暂时不用说服开发去修改,后续再进行跟进。
6 Web测试和移动端APP测试有什么区别
分析:Web端为B/S架构,即浏览器/服务器模式,直接在网页端进行测试;移动端APP一般为C/S架构,即客户端/服务端模式,是需要在移动设备上安装的。
如果你之前的工作中只测试过APP/Web其中一种,那也不要说另外一种没测过、不了解。
参考答案:
兼容性方面:Web端是网页形式,主要考虑不同浏览器的兼容性,测试时会在几大主流浏览器谷歌、Edge、火狐等进行兼容性测试;另外还要考虑屏幕的分辨率;
移动端APP的兼容性测试要考虑不同设备(不同手机/Pad品牌、型号、屏幕大小、分辨率)、不同安卓/iOS版本。
性能方面:web主要关注页面的响应时间;APP测试除了响应时间还要关注电量、流量、CPU、内存等。
安装、卸载、升级方面:web是不需要安装的,服务端升级后,客户端会自动更新;APP存在安装、卸载、升级的测试。
移动端专项测试:接听电话、收发短信、低电量提醒、闹铃、充电、查看通知、锁屏、横屏、手势、刷新、回退、前后台切换、网络切换等等。
7 给你一个优惠券你怎么进行测试
分析:现在面试类似这种问题真的挺烂大街的,基于一个不明确的需求,我觉得回答得好与不好根本说明不了什么。偏偏这种面试题的频率还贼高,什么电梯、杯子、优惠券、朋友圈点赞、登录功能是怎么测试的,这么多案例,都要去背一遍吗?
首先不要从这个功能有哪些可能的场景入手,因为功能需求本来就是不明确的。这里给出一个大概的回答思路。
参考答案:以登录界面为例
我会从下面几个方面去进行用例的设计:
功能测试:我会根据需求文档,将界面划分成几个小模块,比如注册、登录、忘记密码等,然后对每个小模块进行用例的设计。
注册可能要考虑手机号、邮箱等不同注册方式;登录要考虑正常登录、异常登录,会使用边界值、等价类划分法来设计用例;忘记密码要考虑不同的密码找回方式。(功能这一块可以再展开详细地说)
如果涉及到接口的,我会使用工具Postman来进行接口测试。
UI:检查界面是否有错别字,界面配色和布局、相关控件设计是否和UI设计一致。
兼容性:如果是web端登录,考虑浏览器、分辨率的兼容性;如果是移动端,考虑不同手机设备、不同屏幕大小、不同系统版本的兼容性。
性能方面:考虑用户从点击登录到登录成功的响应时长;多用户并发同时操作时功能是否正常。
安全性:考虑敏感数据如密码的传输和存储是否加密、是否明文存储在本地。
稳定性:看是否有闪退、崩溃、无响应等情况。
网络测试方面:网络状况不好时能否登录成功,异常提示是否正确等。
专项:如果是移动端的登录,还要考虑电话、短信、锁屏、横屏、重启等的影响。
8 你之前是如何进行接口测试的
参考答案:
首先获取接口规范、接口文档、需求文档,设计接口测试功能用例,用例设计要考虑单接口和多接口业务流程。
单接口主要进行接口的正确性和健壮性验证,要考虑各种入参验证(正常情况、异常情况,包括输入参数个数不对,类型不对,可选/必选,还要考虑参数互斥或关联的情况)、接口返回值各种验证(符合接口文档需求)。
多接口业务流程测试主要关注业务流和数据流,也就是多个接口的串联操作能否满足需求文档里的需求。
我们公司使用postman进行接口测试,根据接口文档,先选择请求方式,然后输入url,发送请求,看接口返回的数据。
9 遇到困难,你是怎么解决它们的
参考答案:
比较困难的事情在工作中还是很常见的,我上一份工作中就遇到过这样的情况:
开发提测的版本经常出现影响流程的BUG,导致测试无法进展下去,影响测试进度。
因为是小公司,没有一个规范的产品研发、测试标准,但是这样下去工作效率只会越来越低。
因此我,作为团队的核心成员,主导拟定了一套产品提测标准。要求开发自测用例覆盖度(也就是冒烟测试范围)、执行通过度要达到一定的标准,否则测试可以无条件驳回。
经过一段时期的试运行,后面情况好了很多,基本不会有随便一点就报错,或者影响大流程的问题。
参考答案:
比较困难的事情在工作中还是很常见的,我上一份工作中就遇到过这样的情况:
开发提测的版本经常出现影响流程的BUG,导致测试无法进展下去,影响测试进度。
因为是小公司,没有一个规范的产品研发、测试标准,但是这样下去工作效率只会越来越低。
因此我,作为团队的核心成员,主导拟定了一套产品提测标准。要求开发自测用例覆盖度(也就是冒烟测试范围)、执行通过度要达到一定的标准,否则测试可以无条件驳回。
经过一段时期的试运行,后面情况好了很多,基本不会有随便一点就报错,或者影响大流程的问题。
10 你对未来的职业规划是什么
分析:面试必问,可以谈谈短期目标、长期目标,最好加上为了达到这个目标你做了哪些努力。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
相关文章:

高能分享:软件测试十大必问面试题(附带答案)
1 介绍之前负责的项目 参考答案:先大概描述一下这个项目是做什么的(主要功能),包括哪些模块,是什么架构的(B/S、C/S、移动端?),你在其中负责哪些模块的测试。期间经历了几…...

Java 反射设置List属性
使用 Java 反射可以动态地设置对象的属性值,包括 List 类型的属性。以下是一个示例代码,演示如何通过反射设置 List 类型的属性: 假设有一个类 Person,包含一个 List 类型的属性 names: java public class Person { …...

wpf devexpress Property Grid创建属性定义
WPF Property Grid控件使用属性定义定义如何做和显示 本教程示范如何绑定WP Property Grid控件到数据和创建属性定义。 执行如下步骤 第一步-创建属性定义 添加PropertyGridControl组件到项目。 打开工具箱在vs,定位到DX.23.1: Data 面板,选择Prope…...

78.子集--77.组合
78,子集 递归 class Solution(object):def subsets(self, nums):""":type nums: List[int]:rtype: List[List[int]]"""# 结果ans[]# 临时结果dp_[]def dfs(nums,index):if indexlen(nums):# 保存结果co_dpdp_[:]ans.append(co_dp)r…...

【C++】模版-初阶
目录 泛型编程--模版 函数模版 类模版 泛型编程--模版 函数模版 如何实现一个通用的交换函数呢?void Swap(int& left, int& right){int temp left;left right;right temp;}void Swap(double& left, double& right){double temp left;left right;righ…...

【JavaEE初阶】 TCP服务器与客户端的搭建
文章目录 🌲前言🌴ServerSocket API🎄Socket API🍀TCP中的长短连接🎍建立TCP回显客户端与服务器🚩TCP搭建服务器🚩TCP搭建客户端🚩通信过程展示: 🌳多个客户端…...

23111710[含文档+PPT+源码等]计算机毕业设计基于SpringBoot的体育馆场地预约赛事管理系统的设计
文章目录 **软件开发环境及开发工具:****功能介绍:****论文截图:****数据库:****实现:****代码片段:** 编程技术交流、源码分享、模板分享、网课教程 🐧裙:776871563 软件开发环境及…...

【论文解读】GPT Understands, Too
一.论文 1.1 P-tuning 区别于之前的工作,这篇工作认为promote可以在句子中的任意位置起到作用,可以将它们插入上下文或目标中 上图中,左图是不使用任何操作,右图是选择在居首和目标前插入promote的embedding,插入pro…...

组合式API_生命周期
选项式API_生命周期 <template><h3>选项式API</h3><p>{{ message }}</p> </template> <script> export default {data(){return{message:""}},mounted(){this.message "选项式API生命周期函数"} } </scr…...

WPF如何实现应用程序托盘
在WPF中实现应用程序托盘图标和菜单功能通常需要使用System.Windows.Forms.NotifyIcon类,因为WPF本身并没有直接提供这样的控件。为了使用NotifyIcon,你需要添加对System.Windows.Forms的引用。以下是如何实现的步骤: 1. 添加对 System.Wind…...

ERROR: column “xxxx.id“ must appear in the GROUP BY
org.postgresql.util.PSQLException: ERROR: column “xxx.id” must appear in the GROUP BY clause or be used in an aggregate function 错误**:列“XXXX.id”必须出现在GROUP BY子句中或在聚合函数中使用** 出现这种错误的sql如下: select name,…...

【C++ 学习 ㊲】- 五种特殊类的设计
目录 一、设计一个禁止拷贝的类 二、设计一个只能在堆区上创建对象的类 三、设计一个只能在栈区和静态区上创建对象的类 四、设计一个不能继承的类 五、设计一个只能创建一个对象的类(单例模式) 一、设计一个禁止拷贝的类 拷贝只会发生在两个场景中…...

探索arkui(2)--- 布局(列表)--- 2(支持分组/实现响应滚动位置)
前端开发布局是指前端开发人员宣布他们开发的新网站或应用程序正式上线的活动。在前端开发布局中,开发人员通常会展示新网站或应用程序的设计、功能和用户体验,并向公众宣传新产品的特点和优势。前端开发布局通常是前端开发领域的重要事件,吸…...

systemverilog:interface中端口方向理解
(1)从testbench的角度看,tb中信号的输入输出方向与interface中信号输入输出方向一致: (2)从DUT角度看,DUT中信号输入输出方向与interface中信号输入输出方向相反。简单图示如下: 代…...

【GUI】-- 08 JButton、JRadioButton、JCheckBox
GUI编程 03 Swing 3.5 JButton 图片置于按钮之上的JButton: package com.duo.lesson05;import javax.swing.*; import java.awt.*; import java.net.URL;public class JButtonDemo01 extends JFrame {public JButtonDemo01() {Container contentPane getConten…...

【postgresql】CentOS7 安装Pgweb
Pgweb Pgweb是PostgreSQL的一个基于web的数据库浏览器,用Go编写,可在Mac、Linux和Windows机器上运行。以零依赖性的简单二进制形式分布。非常易于使用,并具有适当数量的功能。简单的基于web和跨平台的PostgreSQL数据库浏览器。 特点 跨平台…...

基于python和定向爬虫的商品比价系统
论文下载 基于python和定向爬虫的商品比价系统 Price Comparison System for Products Based on Python and Targeted Web Crawling 目录 目录 2 摘要 3 关键词 3 第一章 绪论 4 1.1 研究背景 4 1.2 研究意义 5 1.3 国内外研究现状 7 1.4 本文主要工作和章节安排 8 …...

使用GPT-4训练数据微调GPT-3.5 RAG管道
原文:使用GPT-4训练数据微调GPT-3.5 RAG管道 - 知乎 OpenAI在2023年8月22日宣布,现在可以对GPT-3.5 Turbo进行微调了。也就是说,我们可以自定义自己的模型了。然后LlamaIndex就发布了0.8.7版本,集成了微调OpenAI gpt-3.5 turbo的…...

二十三种设计模式全面解析-深入解析模板方法模式的奇妙世界
在软件设计的奇妙宇宙中,有一种设计模式如一颗流星般划过,留下绚丽的光芒,它就是——模板方法模式(Template Method Pattern)。这个模式不仅令代码更加灵活,而且蕴含了一种设计哲学,本文将深入研…...

【Spring】加载properties文件
文章目录 在Spring Context中加载properties文件测试总结 在Spring Context中加载properties文件 分为三步,如下图所示: 完整代码: <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.…...

react中间件的理解
一、是什么? 中间件(Middleware)在计算机中,是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络应用上的各个部分或不同的应用,能…...

React函数组件状态Hook—useState《进阶-对象数组》
React函数组件状态-state 对象 state state 中可以保存任意类型的 JavaScript 值,包括对象。但是,你不应该直接修改存放在 React state 中的对象。相反,当你想要更新⼀个对象时,你需要创建⼀个新的对象(或者将其拷⻉⼀…...

linux 网络 cat /proc/net/dev 查看测试网络丢包情况
可以通过 cat /proc/net/dev 查看测试网络丢包情况,drop关键字,查看所有网卡的丢包情况 还可以看其他数据, /proc/net/下面有如下文件...

记录配置VS,使用opencv与Eigen
方法一: 1.下载VS 2.配置opencv,参考大佬博客,注意更改博客中版本的部分细节,比如opencv_world440d.lib换成自己下载的版本 3.配置Eigen,参考大佬博客 方法二:博客 本人第一次配置时候按照这篇内容配置的,但是不知道哪…...

uart控制led与beep
仲裁模块代码: // 外设控制模块,根据uart接收到的数据,控制led与beep的标志信号。 module arbit(input wire sys_clk ,input wire sys_rst_n ,input wire pi_flag …...

Linux修改root密码
如果知道当前的root密码,修改boot密码操作较简单。 步骤如下: # passwd --在root用户下执行passwd命令 Changing password for user root. New password: --此处输入新密码 BAD PASSWORD: The password is shorter than 8 characters Ret…...

C/C++模板类模板与函数模板区别,以及用法详解
类模板 类模板语法 类模板作用: 建立一个通用类,类中的成员 数据类型可以不具体制定,用一个虚拟的类型来代表。 语法: template<typename T> 类解释: template --- 声明创建模板 typename --- 表面其后面的…...

van-dialog弹窗异步关闭-校验表单
van-dialog弹窗异步关闭 有时候我们需要通过弹窗去处理表单数据,在原生微信小程序配合vant组件中有多种方式实现,其中UI美观度最高的就是通过van-dialog嵌套表单实现。 通常表单涉及到是否必填,在van-dialog的确认事件中直接return是无法阻止…...

Dynamic Wallpaper 16.7中文版
Macos动态壁纸推荐: Dynamic Wallpaper是一款Mac平台上的动态壁纸应用程序,它可以根据时间等因素动态切换壁纸,提供更加生动和多样化的桌面体验。 Dynamic Wallpaper包含了多个动态壁纸,用户可以根据自己的喜好选择和切换。这些…...

如何使用ArcGIS Pro制作渐变河流效果
对于面要素的河流水系,制作渐变效果方法比较简单,如果是线要素的河流有办法制作渐变效果吗,答案是肯定的,这里为大家介绍一下制作方法,希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的水系数…...