软件测试基础知识

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。

博主主页:Yan. yan.

文章目录

1、什么是软件?

软件是计算机系统中的程序和相关文件或文档的总称。

2、什么是软件测试?

说法一:使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。

说法二:软件测试就是利用一定的方法对软件的质量或者使用性进行判断和评估的过程。

3、软件测试工程师的工作内容

  • 寻找软件中的bug,并且越早发现越好
  • 确认bug的可重复性以及bug产生的步骤
  • 确认bug是否被解决
  • 测试方法,测试计划,测试平台,测试代码,测试用例,测试文档,测试报告的确定、编写和执行。

4、常见的软件生命周期模型

  • 大爆炸模型:优点:简单,不用学习就会。缺点:产品质量无法保障,尽量避免使用
  • 边做边改模型:优点:快速得到可运行的版本。缺点:计划有些缺乏,导致版本前后变化较大
  • 瀑布模型:优点:计划周密,专业,按部就班实现。缺点:相对难于做到快速开发,以抢占市场,可选择的模型之一
  • 螺旋模型:优点:计划变化同事考虑。

5、软件开发的几个阶段

  • 项目启动阶段:了解客户需求、配置相关资源
  • 项目设计阶段:明确客户需求,确立软件开发、测试的方法
  • 项目执行阶段:开发与测试阶段
  • 项目竣工阶段:软件的上市、后期维护与技术支持

6、软件bug的五个要素

  • 软件没有实现说明书中所列出的功能
  • 软件出现了说明书中提到不应该出现的事情
  • 软件没有实现说明书中没有提到但应该实现的事情
  • 软件非常难于学习、使用,运转速度很慢,用户认为无法达到预期

7、软件测试的分类

  • 黑盒测试:对软件内部如何实现不了解,以外部的视角来视察软件。

黑盒测试方法:等价类边界值,因果图,判定表,错误推测法

  • 白盒测试:白盒测试与黑盒测试相反,需要了解软件中的结构。白盒测试也叫结构化测试,玻璃盒测试。

黑盒测试与白盒测试的优缺点

黑盒测试,

优点:不需要了解软件实现细节,软件内部实现机制更改时,一般不必修改用例实现相对简单,以用户角度出发

缺点:无法保证软件代码内各主要路径都被覆盖到,容易导致测试不很完全

白盒测试,

优点:针对软件代码和路径进行测试,相对易于调试,容易发现bug产生的原因

缺点:对测试人员的编程能力要求高,软件实现代码改变,测试用例一般也需要改变。

  • 功能测试
  • 兼容性测试
  • 性能测试
  • 安全测试
  • 压力测试

8、什么是测试用例

测试用例是描述输入实际值和预期输出行为或者结果的文档,他同时也标识了测试过程结果与约束。

9、测试用例几大要素

标识符,测试内容,输入条件,预期结果,测试环境信息,与其他测试用例的依赖关系,测试用例需要被开发、审阅、使用、维护和保存。

软件测试方法分类:

  1. 白盒、黑盒、灰盒
  2. 单元测试、集成测试、系统测试、验收测试、回归测试、Alpha 测试、Beta 测试
  3. 静态测试和动态测试

设计测试用例的主要方法

  1. 等价类划分
  2. 边界值分析法
  3. 因果图法
  4. 场景法
相关推荐
LYFlied1 天前
Rust代码打包为WebAssembly二进制文件详解
开发语言·前端·性能优化·rust·wasm·跨端
i建模1 天前
C++和Rust的性能对比
开发语言·c++·rust
盒马盒马1 天前
Rust:智能指针 Box & Rc & Cow
开发语言·算法·rust
极客先躯1 天前
Java Agent 技术全解析:从基础框架到落地实践
java·开发语言
gcbjoy1 天前
dbaseIII或foxplus的简化的弹出菜单实现方式
开发语言·经验分享
姓蔡小朋友1 天前
LUA脚本
开发语言·junit·lua
悟能不能悟1 天前
Java CheckFailedException会去获取message.properties的内容吗
java·开发语言
shang_xs1 天前
Java 25 ScopedValue - 作用域内安全访问的一种实现
java·开发语言·安全
向量引擎1 天前
[架构师级] 压榨GPT-5.2与Sora 2的极限性能:从单体调用到高并发多模态Agent集群的演进之路(附全套Python源码与性能调优方案)
开发语言·人工智能·python·gpt·ai·ai写作·api调用
小白学大数据1 天前
Java 异步爬虫高效获取小红书短视频内容
java·开发语言·爬虫·python·音视频