软件测试——功能测试篇

功能测试

欢迎来到笔蒂I的软件测试系列,本部分分为:功能测试Web自动化测试App自动化测试接口自动化测试,性能测试,还有一些面试题等内容,大家可自行跳转链接查看哦。
助大家早日找到工作哦
**P0-P4为重要等级哦
**

一、测试基础(P3)

  1. 功能测试
    也就是目前本篇的内容,主要用于验证程序系统的主要功能是否满足需求
  2. 自动化测试
    使用代码或者工具代替手工,对项目进行测试
  3. 接口测试
    使用代码跟工具对服务端提供的接口进行测试,查看是否正常,可以使用工具实现也可以使用代码实现
  4. 性能测试
    模拟多人使用软件,查找服务器缺陷,可以工具实现,也可以代码实现

二、测试分类(P0)

  1. 按阶段划分:
    • 单元测试:针对程序源代码的测试,主要针对函数、方法进行正确性测试,最后进行断言,常见的单元测试框架有Unittest、Pytest、junit
    • 集成测试:如果说单元测试是对单个模块进行测试的话,那集成测试就是对多个模块进行测试了,检测多个模块组合后是否可以达到预期的结果
    • 系统测试:系统测试就更加整体了,包括了集成测试、安全测试、兼容性测试、功能测试等一系列东西,是保证项目安全上线的核心
    • 验收测试:以用户的身份验收系统是否满足用户的需求
  2. 按代码可见度分:
    黑盒测试:就是看不见代码的测试,主要是对功能、性能、安全进行测试
    白盒测试:看得见代码的测试,类似于单元测试,关注代码内部的逻辑结构,帮助开发人员验收代码逻辑的正确性
    灰盒测试:结合了黑盒跟白盒测试,但不需要像白盒测试一样太关注代码,只需要关注模块、功能之间的交互是否正常,是否可以正常执行,功能受不受影响

三、质量模型(P1)

这是用于衡量一个软件优秀的维度
一共有八个维度:

  1. 功能性:功能数量、功能是否正常实现
  2. 性能:服务器响应的速度,每秒可以处理多少请求
  3. 兼容性:验证在各个平台上系统是否可以正常流畅的运行
  4. 易用性:系统对用户是否友好简洁美观
  5. 安全性:存储是否结果加密、传输是否经过加密
  6. 可靠性:无响应、卡顿、死机
  7. 可维护性:系统是否易于维护
  8. 可移植性:系统进行迁移,从一个系统到另一个系统,从一个平台到另一个平台,是否仍然可用

四、测试用例(P0)

这个部分是做功能测试时必不可少的,主要包括:
用例编号、用例标题、项目/模块、优先级、前置条件、测试步骤、测试数据、预期结果

  1. 冒烟测试
    记得之前面试,面试官问冒烟测试的问题,当时第一次听到冒烟测试这个概念,以为是什么很高级的测试方法,后面其实就是对软件的一个初步的快速的测试方法,假设开发拿了一个灯泡过来,我们通电后灯泡就冒烟了,就灭了,那还有什么好测的呢,就像这个软件打都打不开,或者主要的业务来测都无法通过,那后续也没办法进行测试,这个项目目前是没有可测性的,这就是冒烟测试。
  2. 如何设计用例呢?
    • 等价类划分
      有效等价类:满足需求的数据集合
      无效等价类:不满足需求的数据集合
      负责区分数据的类型跟规则
    • 边界值划分
      负责测试数据的长度范围
    • 判定表法
      以一种表格的形式表达多条逻辑判断的根据
      由条件桩、动作桩、条件项、动作项组成

      例如:现在一个按钮电梯有1-21层您需要如何设计测试用例呢?
  • 首先等价类划分:数字1-21为有效等价类,非数字和其余数字为无效等价类
  • 通过边界值法挑选等价类数值:
    【1(上),21(上),10(内)】(有效)
    【0(离),22(离)】(无效)
  • 无效等价类中挑选非数字字母a,空值 进行测试
  • 还有一些特殊场景也需要测试,比如说连续按两下,电梯移动过程中按等
  • 最后根据这些分析的数值进行测试,验证实际结果与分析结果是否一致
  • 如果一致则通过,如果不一致提交缺陷进行后期处理

五、业务测试

基础的功能测试完了,需要连接各个模块查看业务交互是否正常
例如发布文章业务基本流程如下:

一共三条流程结束,所以就会有三条用例可编写:

六、软件测试管理

  1. 提问:软件测试的流程是什么?
    • 需求分析、制定测试计划、编写用例、执行用例、测试报告、回归测试
  2. 提问:执行用例发现了缺陷怎么办!
    1、提交bug管理系统 2、分配给开发 3、查看是否重复 4、查看是否是一个bug 5、是否需要延期修复(更具优先级判断) 6、回归测试 7、验证通过(不通过回归第二步)
  3. 真实面试题:如果你发现一个bug而开发不觉得这是一个bug怎么办?
    • 首先需要测试的时候bug出现尽量进行截图、录屏、查看日志信息等
    • 可能是测试环境和开发环境差异导致的,保证环境正确后,重新尝试复原这个bug
    • 可能是需求没有统一,可能是开始设计需求时没有考虑到这一块,但是测试测到了这一块,这个可用跟产品经理明确一下需求,看看具体这个是功能还是bug

软件测试——功能测试篇
http://example.com/2024/08/26/软件测试/SoftWareTest/
作者
笔蒂I
发布于
2024年8月26日
许可协议