Advertisement

一套完整的软件测试面试流程(面试题),这些题你真的都能答上吗?

阅读量:

目录:导读

    • 序论
  • 从Python编程基础至高级应用
  • 探索接口自动化实践
  • 深入理解Web技术的自动化运用
  • 掌握应用开发自动化实践
  • 优化求职者的求职指导
  • 建设专业的测试与DevOps体系
  • 解析常用自动化测试工具
  • 学习性能优化与调优——JMeter深度应用
  • 总结(附加小福利)

前言

1、自我介绍

2、测试流程

功能需求分析阶段、测试方案制定阶段、详细设计部分、系统运行测试、软件质量检验、项目复盘分析

测试计划:
明确测试目的及覆盖范围的基础上对系统进行全面功能验证,并根据实际需求制定相应的安全特性保障方案。
具体要求包括:选用合适的检测工具与方法;将系统划分为若干功能模块进行独立性验证;指派专人负责各阶段操作流程;制定详细的工作周期安排,并定期评估运行中的风险因素。
通过科学计算得出最终的工作量评估结果。

测试用例编写流程如下:

  1. 首先需要深入理解项目的业务需求,并明确产品的核心功能与服务内容。
  2. 其次,在掌握产品架构的基础上对各个功能模块进行详细分解与深入研究。
  3. 从实际运作的角度出发全面梳理并整理出完整的业务流程图;若有遗漏的部分需及时补充和完善。
  4. 为了确保系统在不同界面下的稳定运行需增加UI界面测试;此外还需要覆盖兼容性环境下的各种情况以及性能指标下的极限情况;同时还要针对安全漏洞进行全面的安全性测试。
  5. 最后将完成的测试方案提交给相关负责人进行评审评估。

3、项目介绍

4、项目的迭代

5、某功能如何测试的

测试用例设计方案:
功能、性能、安全、网络、兼容性、ui界面、专项测试

6、bug如何定位

通过工具charts定位前后端bug

7、最深刻的bug

8、web和app测试的区别

9、常用的Liunx命令

复制代码
    cd:切换目录 
    ls:查看文件列表 
    cp:拷贝文件 
    mv:移动文件 
    rm:删除文件 
    chmod:设置文件权限 
    cat:浏览文件内容 
    vi:文件边界 
    grep:过滤文件内容

操作系统常用命令:

复制代码
    ip addr:查看ip  
    systemctl stop firewald:关闭防火墙  
    top:查看cpu使用率  
    free -m:查看内存使用率  
    df -h:查看磁盘的使用情况

10、数据库的增删改查

11、接口测试怎么做-流程

相较于UI界面及功能性测试而言,
第一阶段的需求分析及评审,
第二阶段进行UI界面及功能性测试,
第三阶段进行系统功能需求分析,
第四阶段实施用例运行,
第五阶段进行系统管理及回测,
第六阶段输出最终的测试报告文档

与常规的接口测试类似,在此基础上增加了对接口文档的深入分析以及自动生成测试脚本的功能。具体而言,在对接口文档进行分析的过程中主要关注以下几个方面:一是对接口的调用方式进行考察;二是对返回的数据结构进行解析;三是确保整个操作流程符合预期要求。其中请求部分必须包含:如请求URL、HTTP头信息、操作方法以及参数设置等关键要素。

解析API响应时应包含响应状态码、数据格式、信息头部、内容及异常返回信息及错误代码,并考察多个接口间相互之间的依赖关系

在构建环节中, 将接口的用例转换为用例文件, 并通过Postman测试工具实现对测试脚本的执行.

12、接口关联如何实现

在接口测试中如何处理加密参数?
1)掌握接口使用的 encryption 类型(如 MD5、RSA 等)。
2)被确认为支持该 encryption 方法的 interface testing 工具即可使用(例如 JMeter 可直接应用 MD5 功能)。
3)若涉及公司内部定制的 encryption 算法,则需由公司自行开发实现以达到预期的安全效果。

实现不同接口间的数据关联可以通过以下几种方法:首先,在下一个接口中使用上一个接口返回的数据作为请求参数;其次,通过分析上一个接口返回的数据格式(如JSON或特定结构),可以利用JSON解析器或正则表达式提取所需字段并存储于变量中;最后,在后续调用中直接引用该变量名的方式,在下一个接口中自然集成所需数据

数据加密MD5

Jmeter 接口测试流程如下:

  1. 利用接口文档或抓包技术捕获并解析目标 interface 的 URL 和必要参数信息。
  2. 建立线程组,并发送 HTTP 请求;根据目标 interface 的地址设置请求头信息。
  3. 根据测试 case 的具体情况调整 interface 参数后发送 request。
  4. 对 return result 进行判断分析。

13、get和post区别

HTTP中常用的几种请求方法包括GET和POST等。GET方法允许传递请求体信息并可被浏览器缓存;而POST方法不具备此特性。GET方法受制于请求体长度限制;POST方法则不受此约束。GET方法的安全性较低;POST方法则更为安全可靠。

HTTP与HTTPS区别如下:
1)HTTP不需证书认证而HTTPS需申请证书
2)HTTP采用明文传输方式而HTTPS采用加密传输
3)两者采用不同的连接方式及端口配置:HTTP使用80端口而HTTPS使用443端口

14、自动化测试怎么做的

什么是自动化的po模式:

该模式主要由对象层、操作层和业务层层组成。其中的对象则负责封装一些关键元素及其定位方法;操作层面则集中处理各类具体的操作;而业务层面则会将这些单独的操作整合成完整的业务流程。

具体实施步骤如下:以登录页面为示例,
第一步,主要负责初始化并返回一个Driver实例。

第二步基于BasePage基类的对象层封装登录页面用于用户名密码确认的登录按钮也包含相应的定位方法

第三步按照封装定位方法对他们的操作进行封装具体来说就是录入用户名及密码完成登录操作

第四步根据封装LoginPage页面的操作类实现登录的测试;

自动化测试稳定性:

一个是元素的定位问题、一个是用例之间的依赖问题、一个是数据问题

元素定位问题可通过智能化的等待机制最大限度地避免出现遗漏情况。
通过解耦各条用例之间的关联关系可以让所有测试用例从同一个起始界面启动运行,并在完成后统一返回到初始界面。
因此,在测试框架中需要实施后续处理机制确保每个测试用例完成后都能返回到初始界面。

测试数据尽可能现用现造 尽量避免使用假数据和死数据

15、元素定位方式

ui自动化定位不到元素的原因

1)定位器配置不当
2)定位字符串不正确
3)元素被嵌入到iframe内
4)页面元素加载失败
5)元素存在于新标签页中
6)脚本运行逻辑与实际业务流程不符
7)当前页面未包含该元素

app的不定时弹窗:

两种思路:
1)开始监控弹窗中的事件(如确认或取消),每隔半秒查看是否有新弹窗出现,并及时关闭它们以避免干扰。
2)为了避免影响系统性能,在所有操作前引入了一种新的检测机制来识别潜在的问题(缺点),这导致了整体运行效率有所下降。

16、性能测试关注指标

1)TPS(每秒事务数)反映了系统的处理能力。TPS越高,则系统处理能力越强。
2)平均响应时间指的是系统对每个访问请求处理所需的时间长度。响应时间越短,则系统性能越优。
3)并发度指的是在同一时间段内同时向服务端发起请求的数量。在不同工具中可以通过多进程或多线程的方式实现高并发处理。
4)错误率即指失败请求所占的比例。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

在艰难处境中不肯退缩,在考验面前没有放弃,在挫折中没有沮丧。每一次付出都是朝着实现梦想更进一步的勇敢举措。坚信自己能够成功并坚持不懈地努力奋斗下去的话,在未来某一天必定能够收获属于自己的辉煌成就与成功。

经历了风雨的洗礼,它必定会出现.即使前方道路异常艰难,我们也要坚守信念,义无反顾地前进.想要获得成功必须拥有坚定的意志力与不屈不挠的决心.只要心中揣着远大的理想,不懈努力追求目标,最终必定迎来属于自己的辉煌时刻.要有信心,不要满足于现状,无论多难都要勇往直前!

所有的道路都布满荆棘;没有人能够独自完成自己的目标;为了实现自己的梦想;每一次跌倒;都能成为塑造更加坚强与勇敢自我的契机;相信自己的能力;勇往直前;终将收获无穷的荣耀与胜利

全部评论 (0)

还没有任何评论哟~