千锋教育-做有情怀、有良心、有品质的职业教育机构

当前位置:首页  >  IT问答库  >  软件测试基础知识

7软件测试基础知识点,新手必须掌握_千锋教育

发布:cli 2026-05-29 06:11

推荐答案

从“找bug”到“懂逻辑”:测试新手的第一个分水岭

很多刚入行的测试新手,以为软件测试就是“点点点”,看到bug就提,提完就完事。但真正在工作中,你会发现,一个“会点”的人和一个“懂测”的人,差距巨大。前者只能做执行,后者能参与评审、设计用例、甚至预判风险。

本文梳理了7个最核心的基础知识点,帮你从“会点”走向“懂测”。

1. 测试用例:你凭什么说这个功能测过了?

  • ►是什么:测试用例是一份详细的“操作说明书”,告诉你怎么测、测什么、预期结果是什么。
  • ►为什么重要:没有用例的测试,就是“盲人摸象”。你测了10个功能,但漏了20个边界情况。用例是质量保障的“证据链”。
  • ►怎么做:一个标准的用例包含:用例编号、测试模块、测试标题、前置条件、测试步骤、预期结果、实际结果、测试数据。

案例:测试一个登录框的“密码输入”功能。

字段内容
用例编号TC-LOGIN-001
测试模块登录功能
测试标题输入正确密码,登录成功
前置条件已注册账号:testuser / 123456
测试步骤1. 输入用户名:testuser;2. 输入密码:123456;3. 点击登录按钮
预期结果页面跳转至首页
实际结果页面跳转至首页
测试数据用户名:testuser,密码:123456

关键:新手最容易犯的错误是“预期结果不明确”。比如只写“登录成功”,但没写“页面跳转到哪里”。精准的预期结果,是测试用例的“灵魂”。

2. 等价类划分:用最少的用例,覆盖最多的场景

  • ►是什么:把输入数据划分成若干“等价类”,每个类里选一个代表数据来测试。
  • ►为什么:你不可能测遍所有输入(比如密码长度1-20位,你不可能测1,2,3...20)。等价类告诉你,测了“6位”和“20位”,就代表测了“6-20位”这个区间。
  • ►怎么做:
  • ►有效等价类:符合需求的输入(如密码6-20位)。
  • ►无效等价类:不符合需求的输入(如密码5位、21位、为空)。

案例:一个输入框要求“输入1-100的整数”。

等价类示例数据预期结果
有效等价类(1-100整数)50输入成功
无效等价类(小于1)0提示“请输入1-100的整数”
无效等价类(大于100)101同上
无效等价类(非整数)abc同上
无效等价类(为空)(空)同上

误区:新手常把“有效等价类”和“正确数据”划等号。实际上,有效等价类只是“符合格式要求”,不是“程序能正确处理”。

3. 边界值分析:bug最密集的地方,就是边界

  • ►是什么:专门测试输入数据的“边界”和“边界附近”的值。
  • ►为什么:大量bug发生在“临界点”。比如密码长度6-20位,bug可能就出在“第6位”和“第20位”上。
  • ►怎么做:取“边界点”、“边界点-1”、“边界点+1”。对于区间[1,100],测试1、0、100、101。

案例:一个“年龄”输入框,要求“18-60岁”。

测试点值说明
上点18, 60边界本身
离点17, 61边界外侧紧邻的值
内点30区间内任意值(可选)

注意:边界值分析必须和等价类划分配合使用。等价类划分确定“测哪些类”,边界值分析确定“在类的边界上怎么测”。

4. 黑盒 vs 白盒:两种截然不同的视角

  • ►黑盒测试:不关心代码内部逻辑,只关心“输入→输出”是否符合需求。
  • ►白盒测试:需要看代码,测试代码的“路径”、“分支”、“条件”是否覆盖完整。

为什么新手必须懂这个:面试必问。更重要的是,它能让你理解“测试的深度”。黑盒测试告诉你“功能对不对”,白盒测试告诉你“代码写得好不好”。

一个例子帮你秒懂:

假设有一个函数:int add(int a, int b) { return a + b; }

  • ►黑盒测试:你输入 add(2,3),得到 5。通过。
  • ►白盒测试:你要看代码里有没有“如果a是负数”的分支。如果代码里没有处理负数,但需求里要求支持负数,那这就是一个白盒测试才能发现的bug。

新手建议:先精通黑盒测试(用例设计方法),再逐步学习白盒测试(代码阅读能力)。

5. 缺陷生命周期:一个bug从出生到死亡

  • ►是什么:一个bug从“被发现”到“被关闭”的完整过程。
  • ►为什么重要:工作中,你提的bug可能被开发“打回”(拒绝修复),也可能被产品经理“延后”(下个版本修)。不懂生命周期,你会和开发、产品产生很多无意义的冲突。
  • ►典型流程:

1. 新建:测试人员提交bug。

2. 确认:开发/测试经理确认这是一个bug。

3. 分配:分配给对应的开发人员。

4. 修复:开发修改代码。

5. 验证:测试人员在新版本上验证。

6. 关闭:验证通过,关闭bug。

新手常犯的错误:

  • ►bug描述不清:只说“这里出错了”,不说“怎么操作、用的什么数据、预期是什么”。正确写法:“步骤:1. 登录;2. 点击‘立即购买’;3. 选择数量为0;预期:提示‘数量不能为0’;实际:页面无反应”。
  • ►不验证直接关闭:开发说“修好了”,你连看都不看就关了。这是大忌。

6. 测试计划:不打无准备之仗

  • ►是什么:一份文档,告诉你“测什么、谁测、什么时候测、用什么工具测、怎么算测完”。
  • ►为什么重要:没有计划,测试就是“救火”。今天测这个,明天测那个,最后哪个都没测透。计划是测试的“地图”。
  • ►核心内容:
  • ►测试范围:哪些功能要测,哪些不测。
  • ►测试策略:手工还是自动化?冒烟测试还是回归测试?
  • ►资源分配:谁负责哪个模块。
  • ►时间安排:什么时候开始,什么时候结束。
  • ►风险与应对:如果开发延期了怎么办?

新手误区:以为测试计划是“领导的事”。实际上,即使是一个小功能,你也可以在心里做一个“微型测试计划”:这个功能涉及几个模块?我需要准备哪些数据?我先测哪个后测哪个?

7. 回归测试:改了一个bug,会不会引出三个新bug?

  • ►是什么:当开发修复了bug或新增了功能后,重新运行所有(或关键)的测试用例,确保“没把旧功能搞坏”。
  • ►为什么重要:软件开发的常态是“牵一发而动全身”。改了一行代码,可能让另一个完全不相关的功能崩溃。
  • ►怎么做:
  • ►全量回归:所有用例都跑一遍。适用于大版本发布前。
  • ►选择性回归:只跑和改动相关的模块的用例。适用于小迭代。
  • ►自动化回归:用自动化脚本跑回归用例。这是大厂的标配。

案例:你在测试“购物车”时,发现“删除商品”有bug。开发修复后,你不仅要测“删除商品”这个功能,还要测“添加商品”、“修改数量”、“结算”等和购物车相关的功能,确保它们没被“误伤”。

自测清单:你掌握了几个?

知识点你能用自己的话讲清楚吗?你能举出一个工作中的例子吗?
测试用例是 / 否是 / 否
等价类划分是 / 否是 / 否
边界值分析是 / 否是 / 否
黑盒 vs 白盒是 / 否是 / 否
缺陷生命周期是 / 否是 / 否
测试计划是 / 否是 / 否
回归测试是 / 否是 / 否

如果超过4个回答“否”,建议你重新读一遍本文,并动手写几个用例、做几个练习。测试不是靠“看”会的,是靠“练”会的。

最新问答资讯

01 unity用什么编程语言?unity学习难度大吗

学习 unity 语言
6020 人关注

02 python容易学吗?学好python有什么好处?

学习 python 工作 培训
5389 人关注

03 html是什么语言?html学习难吗?

学习 html 语言 可以
5062 人关注

04 c语言难学吗?c语言学好要多久?

语言 技术 学习
4733 人关注

06 学好平面设计要多久?报速成班靠谱吗?

平面 设计 学习 时间
4238 人关注

相关问题

软件测试中的验证与确认有什么区别_千锋教育

7软件测试基础知识点,新手必须掌握_千锋教育

缺陷生命周期:从发现Bug到关闭Bug的全过程_千锋教育

3年软件测试基础知识学习路线图_千锋教育

软件测试中的验证与确认有什么区别_千锋教育

缺陷生命周期:从发现Bug到关闭Bug的全过程_千锋教育

测一测
你知道多少IT梗