软件测试面试怎样介绍自己的测试项目?会问到什么程度?

news2024/11/15 11:12:44

想知道面试时该怎样介绍测试项目?会问到什么程度?那就需要换位思考,思考HR在这个环节想知道什么。

HR在该环节普遍想获得的情报主要是下面这2个方面:

1)应聘者的具体经验和技术能力,
2)应聘者的团队的沟通能力、合作能力和问题解决能力。

了解到HR目的后,我们就能预判出项目面试题的广度和深度啦,做到有的放矢即可。

想知己知彼,更深入了解HR的面试心态,也可以了解下著名的“冰山模型,请狠狠点击下面这篇文章:

《如何去面试软件测试工程师?1299 赞同 · 162 评论回答》
https://www.zhihu.com/question/28981475/answer/1501615849

一类问题:体现应聘者的具体经验和技术能力的问题

问题1:介绍一个你最熟悉的项目

解答思路:

项目是干什么的?以及项目的基础架构(B/S或者C/S)

项目是给谁用的?

项目的核心模块有哪些?简单罗列一些

项目的核心业务有哪些?至少罗列一个以上的业务线

本人在这个项目中负责的模块有哪些?(罗列模块必须包含至少一个以上的核心模块)

本人在这个项目中做了哪些测试(分类)?

举例如下:

我最近的一个项目就是xxx商城,一个基于B/S架构的综合性网上购物平台,销售家电、数码通讯、电脑、家居百货、服装服饰、母婴、图书、食品等各种品牌优质商品,该系统主要针对普通用户和商家用户使用。其中主要有登录注册、热门商品展示、商品分类、购物车,品牌分类,热门搜索等模块,该项目核心的业务线有下单业务、发货业务以及售后业务。 在这个项目中我主要负责:购物车模块、商品分类、品牌分类模块、商品管理模块、权限管理模块,项目前期做功能测试及接口测试,后期我主要编写一些自动化的代码,进行UI自动化测试、移动端自动化、性能自动化等测试。

问题2 :能举例说明,你是如何做功能测试?接口测试?性能测试的吗?

回答思路:

举例:商品功能模块怎么测试?

先概要介绍一下测试流程

然后根据模块展开介绍测试点(注意是测试点不是用例哦)

  • 举例:商品模块非功能点测试?

    • 界面显示

    • 兼容性

    • 易用性等

举例如下:

下面我先介绍一下如何做功能测试的:
首先,(新项目)我们拿到需求先进行需求评审,确保开发测试产品对需求理解一致;
其次,根据确认后的需求开始设计编写测试计划与方案,方便后续有效的开展测试工作;
第三,就是根据需求设计测试点编写测试用例,并完成用例评审,以便测试执行过程中出现遗漏或者不全面的问题;
第四,执行过程中如果执行失败,需要立即提交bug,并且后续需要跟踪验证,直到bug关闭;
最后,经过多轮次/迭代的执行,最终完成所有测试工作,编写测试报告,对于项目进行总结。

接下来,我以商品管理模块为中心,主要给您介绍一下如何设计测试点的:
首先,熟悉并分析需求,根据需求从正向、反向两个方面进行测试点的整理。

正向设计(考虑):
后台商品的增、删、改、查,库管员能够对商品进行基本的操作,包含商品的:名称、数量、价格、库存、列表信息显示等,确保商品数据的正确性和完整性。
前台商品显示的信息和后台保持正确一致。主要包含:显示名称、价格、库存等信息。用户能够通过客户端进行商品的基本操作(搜索、加购物车、下单等)。

反向设计(考虑):
后台管理人员对商品操作不满足必填项能否操作(比如没有名称能否添加成功,库存为0能否添加),
有商品下单后,后台库管能否对商品进行修改操作。
搞活动的商品库存和同规格商品的库存之间的关系(能否超过库存?)
取消订单的商品库存是否恢复(能恢复)
活动商品的价格和没有活动时的价格是否一致(商品活动价是否高于无活动价格)

其次,从非功能层面进行分析整理。
兼容性:
浏览器:能否兼容主流浏览器,同一浏览器的不同版本。
操作系统:兼容不同操作系统及不同版本。
分辨率:兼容主流设备分辨率(移动端)。

易用性:
容易使用、容易学习。

可靠性:
反复多次使用不会出现异常,能长时间无故障运行。

性能:
并发、负载、压力

安全:

...

除了做系统功能层面测试,还要涉及接口测试.
在后续项目迭代中主要引入接口自动化,将原有需要手工执行的业务用例通过自动化方式实现,使得整体回归测试的时间由半天缩减为1个小时左右。

下面我介绍一下我是如何实现自动化的:
接口测试的核心流程和功能测试基本一致,主要不同点在于接口用例的编写和接口脚本编写,下面重点给你说下这块:

1.搭建项目框架,使用框架python+requests+pytest
2.按照分层的思想来设计,好处是将代码和脚本分开管理方便后续维护,接下来介绍重点:API 和scripts,api层主要封装接口方法实现接口请求发送和结果返回;scripts层,主要实现被封装接口的调用接结果断言参数化等。
3.除了这些之外,还有生成测试报告,封装公共函数,构造测数据等操作

4.测试过程中会遇到一些难点,比如接口依赖如何处理,比如参数化构造数据如何构造,构造后如何获取等,在上述项目中接口依赖通过设置全局变量形式处理,同时构造数据以JSON为主,封装读取json函数得到列表元组类型数据。
5.后续再不同迭代中更新维护代码,并通过Jenkins实现持续集成。

以上就是做接口自动化的核心思路。

问题3:能否总结整个项目持续的时间周期,开发测试人员数量,用例的大约数量、发现的bug大约数量,自身的总结体会?

回答思路:

  • 项目周期

    • web项目周期:

      • 新项目一般在6个月左右(可以分多个迭代完成), 发布一个可用版本

      • 进行中的项目一般两周左右一个迭代 , 即也会发布新的可用版本

    • app项目周期:一般在4个月左右

    • 小程序项目周期:一般2个月左右

  • 测试开发比例:1:5左右

  • 项目用例数量

    • web项目:一般整个系统用例约4000条左右(个人负责模块的1100条左右)

    • app项目:常规app用例约600条左右(个人负责约220左右)

    • 小程序项目:常规小程序级别约200条左右(一般一个人负责)

  • bug数量

    • 用例和bug的数量大约是:6:1左右

举例如下:

问题:你所在项目最后设计了多少用例发现了多少bug?

回答:通过该项目历时9个月,总共编写用例4500条左右发现了838个bug,主要覆盖在购物车、商品和下单等模块,该模块的业务逻辑相对于复杂。非功能方面的bug相对较少,大约80个左右。

问题:通过这个项目得到的收获有哪些?

设计测试用例方面更加全面了,项目上线后半年内"零"故障率,没有发生一次客户投诉的案例。
对于技术层面的应用更加纯熟,尤其是`功能测试的设计和接口测试实现`上,通过接口测试让回归效率提升30%以上。
在团队提升方面,每月进行2次的技能培训,每次1小时,让团队成员能够实现无缝备份。

二、体现应聘者的团队的沟通能力、合作能力和问题解决能力的问题

问题1:在测试过程中有无影响深刻的bug,如何处理的?

回答思路:

此问题考察解决问题能力,建议找前后台关联稍微复杂一点的bug

体现自己能够分析定位问题的能力

举例如下:

测试过程中对我影响深刻的bug有一个:
当时问题:后台某商品添加秒杀活动,前台用户秒杀成功后支付了,此时秒杀活动的库存已经减少,但是当该用户取消秒杀活动的订单成功后,秒杀活动的库存没有恢复。

分析定位:通过页面看到该错误问题后,通过如下方法定位:
通过fiddler抓包,先确认取消订单发送的请求和响应结果,发现请求没有问题,响应结果只返回了取消成功的结果,并没有看到有关库存的信息;

紧接着,查询数据库,生成订单时,该商品库存减少没有问题,通过数据库查看该取消的订单没有问题,但是取消成功后,商品列表中的该商品的库存数还是下单后的,最后通过查看后台订单日志,发现开发并没有处理取消订单后对于数据库库存恢复的操作,导致该功能出错。

问题2:测试过程中有无碰到协作方面的问题?如何处理的?

回答思路:

考察团队沟通能力,合作能力

举例如下:

有碰到过。如上述项目中,测试内部小伙伴的用例评审不通过。此时我会主动找相关产品负责人,一起沟通确认将核心业务逻辑梳理清楚,并通过讨论将推演各种用户可能出现的场景,增加用例的全面性,同时也和对应开发人员确认达成一致理解。

如上述项目在执行用例过程中,提交bug后,有开发人员对于bug不认可,我会先主动和开发人员进行沟通,看能否达成共识,
如果是产品设计层面的会和产品一起讨论;
如果是对于bug描述层面的,我会加强bug描述的准确性,站在软测bug判定的职业角度去完善;
如果是测试本身的误报,我会加强这方面的管理,确保后续不会出现该问题;
如果最后无法达成共识,我会和测试开发部门相关领导进行交流确认问题,从流程层面进行规划完善。

 

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

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

相关文章

【企业化部署】Tomcat部署及优化

文章目录 前言一、Tomcat 的概念1. Tomcat 核心组件1.1 什么是 servlet1.2 什么是 JSP 2. Tomcat 功能组件结构2.1 Container 结构分析 3. Tomcat 请求过程4. 配置文件4.1 安装目录4.2 conf 子目录 二、Tomcat 服务部署1. 下载并安装 JDK1.1 关闭防火墙,将安装 Tomc…

码垛机械臂工作站系统设计

码垛机械臂工作站系统设计 第一章 控制系统硬件设计1.1 引言1.2 控制系统总体方案1.3 控制系统硬件的选型1.3.1 可编程控制器的选型1.3.2 工业触摸屏的选型1.3.3 传感器的选型 1.4 硬件的接线与通讯1.4.1 可编程控制器的I/O分配与接线1.4.2 伺服电机驱动器的接线1.4.3 触摸屏与…

XML入库后空白字符丢失问题

最近项目上在做电子病历,使用的是第三方的电子病历组件,该病历组件是利用XML来组织数据的。界面上渲染出来的效果如下图: XML渲染后的界面 对应的后台数据(已做简化处理)是如下XML格式的,其中的空格部分是…

Windows 下配置Vitis HLS OpenCV仿真库(记录帖)

遇到的问题 我的配置: Vitis Vision 2022 opencv-4.4.0 vision Library 2022 Vitis HLS 2021.1 实测有BUG,编译好之后无法综合,别问我为什么知道 1. Download opencv_ffmpeg.dll 卡住 解决方法 打开 new_build 目录(编译路径&…

从小白到大神之路之学习运维第33天——第三阶段——mysql数据库

第三阶段基础 时 间:2023年6月5日 参加人:全班人员 内 容: Mysql数据库 目录 前提环境配置: 一、CentOS 7 安装 MySQL 5.7 二、MySQL 操作示例: 三、MySQL 5.7远程登录 前提环境配置: 关闭防火…

微信如何批量添加好友?

现在营销中,微信已成为一种重要的沟通方式。微信目前是没有自动批量添加好友的功能,需要运营者一个一个手动去添加,这样太过于浪费时间,并且加频繁了还容易被封号,今天给大家介绍几种手动批量加好友的方式以及怎么借助…

人工智能和网络安全哪个好?一般人我还是劝你算了吧

人工智能门槛高,上限高 网络安全门槛低,下限低 但是以目前的行业内招聘需求来看网安缺hvv安服工具人和法学双修合规人,人工智能缺高端算法大牛。 一、从安全出发,然后去学习人工智能,最后走人工智能安全。 这个确实需…

Java网络通讯案例——即时通讯(控制台版)

一、需求分析 用户与用户之间1-1或1-n通讯 二、技术分析 (一)客户端 客户端的功能有两个:发消息和接消息发消息:使用Socket技术的流式输出,配合打印流封装发送。接信息:使用读取专用线程,搭配…

usmile笑容加新品发布,可视化定义电动牙刷未来发展路径?

历经20余年的发展,中国电动牙刷市场以外资品牌入华为肇始,到目前已经呈现出品牌林立、供给丰富,且国产品牌开始后来者居上的局面。 但近年来行业高速发展的势头似乎有所收敛,与此同时,市场还具备广阔的可拓展空间。数…

M.2 SSD接口详解

一、M.2简介 M.2接口是一种新的主机接口方案,可以兼容多种通信协议,如sata、PCIe、USB、HSIC、UART、SMBus等。 M.2接口是为超极本(Ultrabook)量身定做的新一代接口标准,以取代原来的mSATA接口。无论是更小巧的规格尺…

【Web服务应用】Tomcat部署

Tomcat部署 一、Tomcat简介二、tomcat组件2.1核心组件2.2Tomcat功能组件2.3Tomcat 请求过程 三、部署Tomcat服务3.1Tomcat虚拟主机配置 四、Tomcat多实例部署 一、Tomcat简介 一款 java 开发的开源的 Web 应用服务程序。 可以作为Web应用服务器,处理静态的Web页面&…

比别人更快,更优秀的测试方法!(持续更新)

目录 css selector 应用场景 场景:假设有100个商品要添加,但是没有全选按钮,怎么办? 模拟微信UserAgent设置 场景:模拟微信打开H5 VPN下如何抓包 场景:APP需要开启VPN代理才能正常访问,同时…

NEEPUSec CTF 2023 easymath

easymath 题目描述: from Crypto.Util.number import *flagbytes_to_long(bNeepu{xxx})N 738931348122338421499476261982330058997842307585754071200798137388701886017484620800095723028366934218646065252158059518352370641258869511690690571844077077623…

聊聊TCP协议的粘包、拆包以及http是如何解决的?

目录 一、粘包与拆包是什么? 二、粘包与拆包为什么发生? 三、遇到粘包、拆包怎么办? 解决方案1:固定数据大小 解决方案2:自定义请求协议 解决方案3:特殊字符结尾 四、HTTP如何解决粘包问题的&#xf…

Nginx踩坑记录(二) nginx: [warn] invalid value “TLSv1.3“ in /etc/nginx/nginx.conf:20

问题详情 (通过指定配置文件的方式)启动nginx,提示告警,nginx启动失败。 rootvultr:~# nginx -c /etc/nginx/conf/nginx.conf nginx: [warn] invalid value "TLSv1.3" in /etc/nginx/conf/conf.d/v2ray.conf:20问题原…

高校学生公寓数字化安全用电管理系统解决方案

摘要 本文针对高校学生公寓用电特点,从安全用电角度提出了一套集用电管理、计量、恶性负载智能识别控制、实时跟踪检测等功能于一体的数字化安全用电管理系统技术解决方案———学生公寓智能控电管理系统。 关键词:公寓恶性负载安全用电智能系统 0、引言 近年来,为了响应国…

chatgpt赋能python:Python后处理:优化你的SEO

Python后处理:优化你的SEO 在今天的数字世界中,SEO是任何成功的企业或网站的必要元素之一。搜索引擎优化不仅可以帮助你的网站排名更高,还可以影响你的流量和销售。因此,为了优化SEO表现,很多企业和网站都把目光投向了…

2个月过去了,面试至今0 offer,这是怎么了?

转眼已是6月初,求职招聘季也结束啦,如果没点真技术、真本事,不了解点职场套路,在今年行情下,找工作可是难上加难。 现在点开微博或者脉脉,只要搜索“招聘”,用“惨不忍睹”来形容也不为过。不少…

windows11安装docker desktop实现docker环境

简介 我们知道docker的安装一般我们是安装在linux系统上的,但是如果你的宿主机是windows,那么你还想装docker,那么就需要现在你的windows上装上虚拟机,虚拟机上装linux操作系统,然后在Linux操作系统上再去安装docker&…

【ECCV2022】DaViT: Dual Attention Vision Transformers

DaViT: Dual Attention Vision Transformers, ECCV2022 解读:【ECCV2022】DaViT: Dual Attention Vision Transformers - 高峰OUC - 博客园 (cnblogs.com) DaViT:双注意力Vision Transformer - 知乎 (zhihu.com) DaViT: Dual Attention Vision Trans…