测试开发工程师八股-30问答

一、测试基础认知

关键字结构:

测试定义|目的|方法|工具

🧠 完整回答:

软件测试是通过特定的方法和工具,在不同阶段验证软件的功能、性能和可靠性,从而发现缺陷、提升用户体验。其目的在于提前发现问题,降低维护成本,提高软件质量。测试手段包括功能、性能、安全测试等,常用工具有 Selenium、JMeter、Postman 等。


二、测试开发所需知识

关键字结构:

编程|测试类型|测试流程|工具|原理

🧠 完整回答:

测试开发需掌握一定的编程语言能力,熟悉自动化测试脚本编写;了解测试类型(如单元、集成、系统、性能、安全、UI等);熟悉黑盒白盒测试原理及其使用场景;掌握测试流程(用例设计、执行、结果分析与报告编写);常用工具包括 Selenium、JUnit、JMeter、Postman。


三、测试所需核心能力

关键字结构:

需求理解|逻辑分析|细心严谨|沟通能力|解决问题

🧠 完整回答:

优秀的测试人员需具备分析和理解需求的能力、一定的编程与逻辑推理能力、对细节高度敏感的细心、良好的沟通协调能力,以及定位和解决问题的能力


四、测试流程及产出物

关键字结构:

流程阶段|执行要点|交付文档

🧠 完整回答:

测试流程包括:

  1. 需求分析 → 测试计划制定
  2. 用例设计(涵盖正常、异常、边界情况)
  3. 用例评审
  4. 环境搭建与执行
  5. 回归测试与性能测试
  6. 预生产测试 → 上线
  7. 复盘与总结

输出材料包括:

  • 测试计划、测试用例、测试脚本
  • 错误报告、测试执行日志、环境配置文档、测试报告

五、测试方法详解

关键字结构:

黑盒白盒|测试层次|性能验收|回归

🧠 完整回答:

测试常用方法包括:

  • 功能测试、界面测试
  • 单元测试:最小代码单位(函数、类)
  • 集成测试:模块间交互(Postman/Selenium)
  • 系统测试:对整个系统的功能和非功能验证
  • 回归测试:验证改动是否引入新bug
  • 性能测试:关注响应时间、资源消耗等
  • 验收测试(Alpha/Beta):交由用户或客户进行

六、关键技术方法理解

关键字结构:

等价类|边界值|黑盒|白盒|测试用例设计

🧠 完整回答:

  • 黑盒测试:只关注输入输出,不涉及内部逻辑。常用方法:等价类划分、边界值分析、因果图、状态转换等。
  • 白盒测试:需了解内部代码结构,验证路径、逻辑、分支、循环。
  • 等价类划分:将输入数据分组,减少用例数量。
  • 边界值分析:关注输入上下限及临界点。
  • 测试用例设计方法包括黑盒(边界、等价类、判定表等)和白盒(语句/分支/路径/条件/循环覆盖等)。

七、接口与性能测试

关键字结构:

接口文档|逻辑验证|安全性|工具|性能指标

🧠 完整回答:

接口测试需明确规格(请求方式、参数、数据格式等),验证返回值、数据库一致性、安全性(加密权限)。工具包括 Postman、JMeter、Swagger UI。

性能测试指标有:

  • TPS(每秒事务数)
  • 平均响应时间
  • 并发数
  • 错误率

八、测试用例与覆盖率

关键字结构:

用例结构|设计原则|覆盖率提升

🧠 完整回答:

测试用例应包括:

  • ID、标题、模块、测试目的、前置条件、步骤、数据、预期与实际结果、是否通过、测试环境、备注、关联缺陷等。

设计测试用例时需:

  • 理解需求,参考历史用例/缺陷
  • 使用等价类、边界值等方法找出关键输入
  • 组织用例评审,提高覆盖率并减少遗漏

九、Bug 管理

关键字结构:

生命周期|Bug类型|处理流程

🧠 完整回答:

Bug生命周期:New → Assigned → Open → Fixed → Retest → Closed;也可能为 Rejected、Postponed、Reopen 等。

Bug类型包括:代码、界面、设计、配置、安全、性能、部署、规范、测试脚本等

如开发不认可 Bug,应回溯需求,与产品沟通确认。


十、App 与 Web 测试差异

关键字结构:

架构差异|更新机制|兼容性|特殊场景

🧠 完整回答:

Web 基于 B/S 结构,更新方便;App 为 C/S 架构,需客户端支持,版本众多。App测试更关注:

  • 多版本兼容、弱网环境、触屏操作、资源消耗(CPU/电量)
  • 支持更新、卸载、异常操作(来电/断网)

十一、登录页面测试点

关键字结构:

功能|界面|性能|安全|可用性|兼容性

🧠 完整回答:

  • 功能:正确/错误登录、字段校验、跳转页面
  • 安全:加密传输、防暴力破解、xss/sql注入
  • 界面:布局合理、无错字
  • 性能:响应时间、压力测试
  • 可用性:快捷键、tab切换
  • 兼容性:不同设备与浏览器

十二、软件质量六特征

关键字结构:

功能|可靠|易用|效率|维护|移植

🧠 完整回答:

软件质量包括:

  1. 功能性:满足需求
  2. 可靠性:正常运行
  3. 易用性:操作简便
  4. 效率:性能佳
  5. 可维护性:易修改
  6. 可移植性:跨平台部署

十三、测试杯子的案例分析

关键字结构:

六特征类比实物测试

🧠 完整回答:

  • 功能性:是否能盛水
  • 可靠性:是否耐摔
  • 易用性:握持是否方便
  • 效率:保温是否达标
  • 可维护性:是否容易修补
  • 可移植性:冷热环境下是否适应

十四、常见测试工具与框架

关键字结构:

工具分类|适用场景|语言支持

🧠 完整回答:

  • Web自动化Selenium 支持多浏览器操作
  • 移动端自动化Appium 支持iOS与Android
  • 性能测试JMeter(Web)、LoadRunner(并发性能)
  • 接口测试Postman 用于接口功能与断言
  • 单元测试框架
    • Python:pytest
    • Java:JUnit
  • 抓包工具Fiddler 捕获网络请求与响应内容
  • 自动化框架组合
    • pytest + Selenium/Appium → UI和接口自动化
    • JMeter + Postman → 接口与性能双重保障

十五、自动化测试框架原理

关键字结构:

框架搭建|语言平台|使用方向

🧠 完整回答:

  • pytest:Python的测试框架,支持Selenium和接口测试,支持丰富插件,自动化与持续集成结合紧密
  • JUnit:Java平台的标准单元测试框架
  • Selenium:用于浏览器自动化操作,结合PageObject模式管理页面元素
  • Appium:移动端跨平台测试
  • LoadRunner:高级性能测试工具,模拟并发用户行为

十六、Web测试 vs App测试 区别

关键字结构:

架构差异|测试维度|兼容挑战|场景复杂度

🧠 完整回答:

  • Web:基于浏览器(B/S),客户端自动同步更新。重点在浏览器兼容性页面布局脚本交互响应速度
  • App:基于客户端(C/S),更新需用户主动操作,版本不一致带来测试压力。重点关注:
    • 多系统(iOS/Android)、多机型、不同屏幕
    • 弱网环境测试(断网、掉线、来电、切后台)
    • 安装、更新、卸载流程测试
    • 多点触控、横竖屏、手势操作等交互体验

十七、定位Bug来源的方法

关键字结构:

复现路径|客户端|服务端|网络日志

🧠 完整回答:

当发现Bug时,定位其属于客户端还是服务端需以下步骤:

  1. 复现问题,记录复现步骤
  2. 查看客户端日志、浏览器控制台、网络请求(如Postman/Fiddler)
  3. 如果前端请求正确而响应异常,问题可能在服务端
  4. 检查服务端日志、数据库、业务逻辑处理流程
  5. 验证客户端与服务端之间的数据传输是否完整和符合规范

十八、页面测试实战(给一个页面如何测试)

关键字结构:

UI|功能|安全|兼容|性能

🧠 完整回答:

  • UI测试:页面样式是否美观,控件对齐是否合理,文字清晰无错别字
  • 功能测试:按钮、表单、输入框是否工作正常,逻辑跳转是否正确
  • 安全测试:验证特殊字符、SQL注入、XSS、密码加密、登录校验等
  • 兼容性测试:不同浏览器、平台、语言环境测试
  • 性能测试:页面打开速度、表单提交响应时间,批量并发用户访问测试

十九、登录界面测试详解

关键字结构:

功能性|界面性|安全性|兼容性|可用性|性能

🧠 完整回答:

  • 功能:正确登录/错误登录、异常输入处理、跳转验证、记住密码逻辑、密码是否明文
  • 界面:布局合理、提示明确、语言统一
  • 安全
    • 防SQL注入/XSS攻击
    • 密码加密传输
    • 限制错误登录次数
    • Cookie是否HttpOnly
  • 性能:页面加载速度、并发登录压力
  • 兼容:跨浏览器、设备、分辨率测试
  • 可用性:快捷键支持、Tab键切换、回车登录

二十、Bug争议的应对策略

关键字结构:

沟通确认|文档对照|质量为本

🧠 完整回答:

当提交Bug但被开发认为不是Bug时,应:

  1. 与开发明确沟通Bug依据
  2. 对照需求文档或原型验证功能是否偏差
  3. 邀请产品经理协助确认
  4. 若非Bug则关闭;若确为问题,应开发处理,确保用户体验和产品质量

二十一、测试用例的设计方法

关键字结构:

黑盒|白盒|用例覆盖|设计技巧

🧠 完整回答:

  • 黑盒方法
    • 等价类划分
    • 边界值分析
    • 因果图、判定表、状态转换
  • 白盒方法
    • 语句覆盖:每行代码至少执行一次
    • 分支覆盖:每个if/else都要走一遍
    • 路径覆盖:遍历所有可能路径
    • 条件/循环覆盖:考虑所有条件取值与循环边界情况

结合业务需求、功能场景与边界情况,使用合适方法提升测试的全面性与效率。


二十二、提高测试覆盖率的方法

关键字结构:

需求驱动|多维度|用户视角|用例评审

🧠 完整回答:

提高用例覆盖率需:

  1. 覆盖所有明确需求点与隐性需求
  2. 覆盖常规与异常场景
  3. 从多个维度测试(功能、性能、安全、界面)
  4. 模拟真实用户使用场景
  5. 定期组织测试用例评审会议
  6. 引入工具或脚本分析未覆盖路径、分支

二十三、Bug生命周期与分类

关键字结构:

Bug状态流转|类型分类|处理机制

🧠 完整回答:

Bug生命周期:
New → Assigned → Open → Fixed → Retest → Closed
特殊状态:

  • Rejected(不是Bug)
  • Postponed(延期)
  • Reopen(再次发现)
  • Pending Reject/Reset

Bug类型:

  • 功能缺陷
  • 代码逻辑错误
  • UI问题
  • 性能、安全问题
  • 配置错误
  • 安装部署
  • 测试脚本/环境异常

二十四、功能测试用例内容详解

关键字结构:

用例结构|字段说明|追踪缺陷

🧠 完整回答:

功能测试用例包括:

  • 用例ID、标题、模块名、测试目的
  • 前置条件、执行步骤、输入数据
  • 预期结果、实际结果、是否通过
  • 运行环境、备注、缺陷关联ID

高质量用例应具备可复现性、可理解性、可维护性,便于复测和Bug追踪。


二十五、接口测试编写要点

关键字结构:

接口规格|输入输出|异常处理|安全验证

🧠 完整回答:

接口测试用例设计需关注:

  • 功能是否符合接口文档描述
  • 请求方式(GET/POST/PUT/DELETE等)
  • 参数类型、格式、必填项
  • 返回值校验(状态码、响应结构、内容)
  • 正常输入 + 异常输入测试
  • 安全性校验(权限、加密、SQL注入等)
  • 数据库校验:是否正确写入、更新、删除

二十六、接口测试常用工具

关键字结构:

功能性|性能性|文档性|覆盖面

🧠 完整回答:

  • Postman:功能性接口测试、请求模拟、断言、批量运行
  • JMeter:性能与负载测试(并发/压测)
  • Swagger UI:自动文档生成、接口调试
  • RestAssured(Java)、requests(Python)可用于自动化接口测试脚本开发

二十七、你是如何测试接口的

关键字结构:

文档解析|用例编写|工具测试|结果验证

🧠 完整回答:

  1. 阅读接口文档,理解功能、请求方法、参数及返回结构
  2. 编写测试用例,涵盖正常/异常输入、边界值、权限逻辑等
  3. 使用 Postman 或脚本工具执行测试
  4. 验证响应内容、响应时间、状态码及数据库操作是否一致
  5. 安全验证如SQL注入、接口权限、Token有效性等

二十八、性能测试关注的关键指标

关键字结构:

吞吐量|响应时间|并发数|错误率

🧠 完整回答:

  • TPS(Transactions Per Second):系统每秒可处理请求数,越高越好
  • 平均响应时间:单次请求平均耗时,越低越好
  • 并发数:模拟多个用户同时操作系统
  • 错误率:请求失败比例,应保持为0或极低
  • 可使用 JMeter、LoadRunner 等工具进行模拟与监控

二十九、页面测试方法归纳(再次强化)

关键字结构:

全面测试维度|页面操作|异常校验

🧠 完整回答:

页面测试需从以下几个维度开展:

  • 功能性:输入、按钮、跳转逻辑是否符合预期
  • UI一致性:文字、样式、排版、边距
  • 安全性:脚本注入、SQL注入、认证机制
  • 兼容性:不同浏览器/设备/分辨率
  • 性能:加载速度、响应时间
  • 可用性:键盘操作、快捷键、无障碍支持等

三十、测试用例编写技巧

关键字结构:

需求分析|等价类|前置条件|经验总结

🧠 完整回答:

  1. 与产品深入沟通,理解需求
  2. 对照历史Bug、用例库,复用经验
  3. 利用等价类划分、边界值分析设计场景
  4. 梳理输入输出逻辑与组合
  5. 识别极端情况、异常路径、空数据
  6. 总结通用功能点,如登录、搜索、上传等常见控件测试方式
  7. 注意用例格式清晰、预期明确,方便执行和复测

posted @ 2025-05-18 19:06  vv大人  阅读(84)  评论(0)    收藏  举报