Skip to content

基础知识

字数
2335 字
阅读时间
9 分钟

一、软测是什么?

软件测试就是检查软件是否按照预期运行并使用技术手段运行软件找出软件缺陷的过程,一般从功能性、性能、安全性、兼容性、易用性这几个维度测试,有以下几点作用:

  1. 保证软件质量,减少软件缺陷
  2. 降低公司成本(测试能降低因软件bug导致的经济损失和后续维护成本)
  3. 提高用户体验

质量模型的几个维度:功能性、性能、安全性、兼容性、易用性

测试流程:

二、🌟软件系统架构

  • 客户端:
    • Web页面:通过PC端浏览器访问控制的出入口
    • APP应用:通过移动端APP访问控制的出入口
    • 小程序:依附于APP程序的移动端应用程序出入口
    • H5页面:不同平台上浏览器访问控制的出入口
  • 服务端:
    • 应用程序(Web服务):为客户端提供web类应用服务的程序
    • 数据服务(数据库服务):为整个系统提供数据服务的应用程序
  • 🌟软件系统架构类型:
    • 浏览器服务器(B/S架构):Browser --> Server
    • 客户端服务器(C/S架构):Client --> Server
      • 指的是安装/卸载类的客户端
  • 软件系统实现过程:

三、测试流程

🌟软件测试过程:

记住如下 6 个步骤 用例设计、用例执行、缺陷管理是对测试人员来说最常用最重要的三个步骤 测试计划编写:测试工作分工,明确职责及负责模块

三、测试主流技能

1. 功能测试

功能测试主要是通过手工方式验证程序的功能是否满足需求 所有测试中,功能测试是必须要做的

2. 自动化测试

自动化测试使用代码或工具替代手工,对项目进行功能测试,主要用于提效,在回归测试时可替代手工重复测试,高效快捷

3. 接口测试

接口测试就是使用代码或工具对服务端提供的接口进行测试

四、使用AI工具提高效率

使用结构化表述可以提高精确度。结构化公式:角色+任务+背景+要求

如何高效使用AI
prompt说明:指令(Prompt)是一种通过设计和优化输入提示词来引导人工智能生成特地、高质量输出的技术
模板:
你以__身份,帮我完成/实现/优化__,要求覆盖/包含__,当前用户背景是__,输出__
  • 使用步骤:
    1. 选择AI工具
      • 文档类:deepseek、kimi
      • 代码类:通义千问
    2. 输入指令(prompt)
    3. 人工辨别、优化整理输出结果
  • 典型指令(prompt)格式:
    • 角色(身份):你是谁?比如:【你是测试工程师】
    • 指示(任务):要干啥?比如:【分析登录功能需求】
    • 输入(要求): 啥要求?比如:【要求:账号:必填,已注册的合法手机号,密码:必填,和注册密码一致】
    • 背景(当前状况,可选): 比如:【当前用户对软件测试不熟悉】
    • 输出(结果): 想要啥?比如:【将补充完善后的需求以md形式输出】

1. 需求分析

在需求分析阶段对需求进行评审,需要在测试工程师和用户两个角度去考虑需求是否合理,可以用结构化语言作提示词,辅以需求文档,也可以提交更专业详细的提示词模板,即可返回对需求分析文档的评审结果

2. 测试计划

测试计划:用于规划和组织测试活动的文档,确保测试目标有效达成。它明确了测试的范围、方法、资源安排及风险应对策略,是测试团队的执行蓝图。

  • 测试计划核心内容:
    1. 测试目标与范围: 要是测试的内容和测试维度
    2. 人员进度安排: 谁负责那些模块
    3. 测试方案: 具体怎么测试
    4. 准入/准出标准: 交付给测试的前提标准是啥/测试通过的标准是啥
    5. 风险控制: 有哪些潜在风险以及控制方案

3. 测试设计

步骤:

  1. 根据需求设计测试点
    • 测试点:一个功能需要被检查的“点”,是需要覆盖的测试目标
      • 测试点要求:
        1. 100%覆盖需求
        2. 边界范围覆盖
          • 例如:长度要求为 6~18 位,我们需要分别用 5位、6位、18位、19位去测试边界范围内是否成功,边界范围外是否失效
        3. 格式不正确
          • 例如:要求输入邮箱,但测试输入内容没有@
        4. 类型不正确
          • 例如:要求输入11位数字,但测试输入内容包含字母
        5. 输入为空
          • 测试是否非必填,若必填,则为空是错误的,若非必填,则输入为空是无错误的
  2. 测试点评审
    • 评审:使用AI进行查漏补缺
  3. 将测试点转为用例执行文档(测试用例)
    • 测试点(测什么):要验证的问题(如:密码错误时是否有提示)
    • 测试用例(怎么测):解决这个问题的具体操作步骤(如:输入用户名和密码,点击登录,检查页面是否提示用户名错误/密码错误,若正确,是否成功跳转网页)
      • 作用:测试用例可以确保测试点精准执行
      • 一个测试点往往需要多个测试用例来覆盖(正常场景、异常场景、边界场景)。
  1. 测试点设计:
  2. 测试用例设计: 需要注意的是,AI可能会偷懒,这会导致某些要求没被满足,或是遗漏了某些测试点或测试用例,因此必须检查是否缺漏错漏

4. 测试实战

项目测试地址:Tpshop开源商城 执行:

  1. 根据优先级执行,一般先执行优先级高的用例
  2. 记录执行结果:通过、不通过(原因、结果截图)

5. 缺陷

1)定义

软件存在的任何问题都属于缺陷(bug)

2)衡量标准:
  1. 软件未实现需求(规格)说明书中明确要求的功能 -> 少功能
  2. 软件实现的功能超过了需求(规格)说明书中要求的范围 -> 多功能
  3. 软件出现了需求(规格)说明书中指明不应该出现的错误 -> 功能错误
  4. 软件未实现需求(规格)说明书中虽未明确指明但应该实现的要求 -> 隐性功能缺失/错误
    • 隐性:没有明确文字说明
    • 显性:有明确文字说明
  5. 软件难以理解,不易使用,运行缓慢,用户体验不好 -> 不易使用
3)缺陷描述

重点内容:

  1. 当前指派:将bug提交给谁(前端/后端?)
  2. bug类型:代码错误、设计缺陷、架构错误......
  3. bug标题:描述bug问题(让人一眼就知道是什么bug)
  4. 严重程度
  5. 优先级:bug修复紧急程度
  6. 重现步骤:bug复现步骤
  7. 附件:执行实际结果截图或日志文件

6. 测试报告

1)定义

Q:什么是测试报告? A:测试报告就是测试工作的总结,用于记录测试过程、结果和结论

2)内容
部分内容
测试概述测试目标、范围、环境
执行情况批次(实际被运行过的测试用例数量)、通过率
缺陷统计缺陷数量、严重程度分布
结论与建议测试结果、改进建议
3)实现测试报告

准备数据(测试内容、范围、测试人员、测试周期等详细数据)+ 需求报告 + 提示词

需要注意的是,使用AI实现的内容终归不是完美的,生成后需要人工再检查微调

贡献者

The avatar of contributor named as freeway348 freeway348

文件历史

撰写