当前位置: 首页 > article >正文

软件测试的基础入门(一)

文章目录

  • 一、什么是软件测试?
    • (1)生活中的测试案例
    • (2)代码中的测试示例
    • (3)软件测试的定义
  • 二、软件测试的重要性
  • 三、测试工程师
    • (1)定义
    • (2)分类
    • (3)工作内容
      • 软件测试开发工程师
      • 测试工程师
      • 软件测试开发工程师和测试工程师的区别
  • 四、软件调试和软件测试的区别
    • (1)从角色上分析
    • (2)从目的上分析
    • (3)从阶段上分析
  • 五、需求
    • (1)分类
    • (2)定义
      • 用户需求
      • 软件需求
    • (3)生活中的需求案例
      • 用户需求
      • 软件需求
    • (4)软件测试中的软件需求示例
      • 用户需求
      • 软件需求
  • END


一、什么是软件测试?

(1)生活中的测试案例

测试就发生在我们的日常生活中,如我们在手机APP上面进行购物时,
通常是:

  • 1、打开某款购物软件;
  • 2、搜索你要购买的商品;
  • 3、查看商品详情页;
  • 4、查看商品的规格和评价;
  • 5、查看价格是否符合预期;
  • 6、点击下单。

(2)代码中的测试示例

同样地,对于我们程序员写出的代码,也要进行测试,那我们程序员中的测试是什么呢?

一个简易的C语言实现的除法:

int Div(int num1, int num2)
{
	ret = num1 / num2;
	return (num1 / num2);
}

测试代码逻辑是否符合预期:

num1 = 1, num2 = 1, 返回的ret是否等于 1
num1 = 0, num2 = 2, 返回的ret是否等于 0
当 除数即 num2为0时,
程序就会出现报错,因此我们的测试就显得非常有用了;


(3)软件测试的定义

软件测试 就是验证产品的特性(如:功能、性能、界面、易用性等)是否满足用户的需求。

二、软件测试的重要性

有了上面测试的定义后,我们知道测试就是要让用户对程序员开发出来的产品 体验感和舒适度更好。
所以我们可以总结下测试的重要性:

  • 1、保证软件的质量
  • 2、提高用户的体验感和满意度

三、测试工程师

(1)定义

测试工程师 是指从事测试相关工作的人员。

(2)分类

不同的企业单位对测试人员的命名不同,主要有如下两种:

  • 1、软件测试开发工程师
  • 2、测试工程师

(3)工作内容

软件测试开发工程师

工作重点是业务测试,其次是开发测试效率工具(自动化、性能测试等)。

测试工程师

工作重点是业务测试。

软件测试开发工程师和测试工程师的区别

相同点:

1、都是测试人员;
2、要对软件的质量负责,保证软件的质量。

不同点:

测试开发比测试多了 开发 二字,这个 “开发” 是指开发测试效率工具,如:自动化、性能测试等就属于效率工具。

四、软件调试和软件测试的区别

(1)从角色上分析

软件调试:

主要是开发人员进行操作。

软件测试:

主要是开发人员和测试人员一起完成;
黑盒测试主要由测试人员完成、单元/集成测试主要是由开发人员执行。

(2)从目的上分析

软件调试:

目的是在调试中发现问题(bug),并解决问题。

软件测试:

目的是发现程序中存在的缺陷。

(3)从阶段上分析

软件调试:

是在开发阶段。

软件测试:

贯穿整个软件开发的生命周期。

五、需求

(1)分类

  • 1、用户需求;
  • 2、软件需求。

(2)定义

用户需求

通常是一段话,如:开发一款地图软件;
用户需求是没有经过合理的评估。

软件需求

也叫功能需求,会详细描述开发人员必须实现的软件功能,是开发人员和测试人员执行工作的依据。

(3)生活中的需求案例

天气好冷,我要买件衣服。

用户需求

就是简单的一句话:天气好冷,我要买件衣服。

软件需求

需要根据用户需求,进行具体的分析,给出合理的解决方案。
如:上面的用户需求:天气好冷,我要买件衣服。
是买穿里面的?还是穿外面的?
买什么尺码?买什么颜色的?
……

(4)软件测试中的软件需求示例

用户需求

实现一个邮箱注册网站


软件需求

如下图:


注意:

用户的需求不能直接作为开发和测试的依据。
针对用户的需求,产品经理需要进行需求分析 (技术可行性、市场可行性、成本投入和收益占比等)后才可转变为软件需求。


END

每天都在学习的路上!
On The Way Of Learning


http://www.kler.cn/a/560415.html

相关文章:

  • YOLOv11-ultralytics-8.3.67部分代码阅读笔记-split_dota.py
  • c3p0、Druid连接池+工具类 Apache-DbUtils (详解!!!)
  • Git操作整体流程
  • 设计模式 之 工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式)(C++)
  • 调查报告:DLL项目运行时库设置与依赖兼容性分析
  • Qt 多线程误区:QThread 任务未正确执行及收尾回调未触发的原因分析
  • 云计算该如何实现高效数据存储和处理?
  • 【目标检测】目标检测中的数据增强终极指南:从原理到实战,用Python解锁模型性能提升密码(附YOLOv5实战代码)
  • PV和UV的区别
  • UE5从入门到精通之多人游戏编程常用函数
  • Qt中C++与QML交互从原理、方法与实践陷阱深度解析
  • 系统架构分析:软件需求工程部分知识一览概括
  • C++ Primer 额外的string操作
  • LLM高效推理:KV缓存与分页注意力机制深度解析
  • ubuntu windows双系统踩坑
  • 从零掌握动态代理:JDK与CGLib的实现原理与实战应用
  • Redis基操
  • STM32单片机开发(7).离散PID的程序实现
  • Apache Pinpoint工具介绍
  • [实现Rpc] 客户端 | Requestor | RpcCaller的设计实现