软件测试基础知识

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. 场景法
相关推荐
循环渐进Forward10 分钟前
【C++笔试强训】如何成为算法糕手Day2
开发语言·数据结构·c++·算法·哈希算法·笔试·牛客
向上爬的卓卓卓2 小时前
C++【类和对象】(构造函数与析构函数)
java·开发语言·c++·visual studio
mariokkm2 小时前
Python一分钟:装饰器
开发语言·python
Pandaconda2 小时前
【计算机网络 - 基础问题】每日 3 题(十六)
开发语言·经验分享·笔记·后端·计算机网络·面试·职场和发展
好度2 小时前
python网站创建001:内容概览
开发语言·python
5G微创业2 小时前
免费制作证件照的小程序源码
java·开发语言·windows
jingling5553 小时前
后端开发刷题 | 最小的K个数(优先队列)
java·开发语言·数据结构·算法
终末圆3 小时前
探索RESTful风格的网络请求:构建高效、可维护的API接口【后端 20】
java·开发语言·数据库·后端·mysql·算法·restful
晨曦_子画3 小时前
智能网络载入:通过 AI 和自动化彻底改变连接
服务器·开发语言·ai
请揣满RMB3 小时前
Qt窗口——QMenuBar
开发语言·qt·命令模式