软件测试基础

Posted g0rez

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试基础相关的知识,希望对你有一定的参考价值。

软件测试

1.软件测试定义

软件测试就是指,用人工或者自动化的手段来进行测试的过程,目的在于检验它是否满足规定的需求,并弄清楚预期结果与实际结果的差异

(目的:在最短时间内找出尽可能多的缺陷)

2.软件测试的流程

需求分析 编写测试计划 设计测试用例 执行测试用例 缺陷管理 测试报告

冒烟测试:对软件基本功能进行测试,查看主要的这些功能是否有问题

3.测试项目的具体工作

  1. 搭建测试环境

  2. 撰写测试用例

  3. 执行测试用例

  4. 写测试计划、测试报告

  5. 测试,并提交Bug表单

  6. 跟踪Bug的修改情况

  7. 执行自动化测试,编写脚本、执行、分析、报告

  8. 进行性能测试、压力测试等其他测试,执行、分析、调优、报告

4.软件测试的分类

4.1按开发阶段划分(4个流程)

单元测试 集成测试 系统测试 验收测试

系统测试包括:功能测试、性能测试、可靠性测试、安全性测试

注—各个阶段使用的测试方法:

单元测试——白盒测试

集成测试——近似灰盒测试

系统测试和验收测试——黑盒测试

软件验收测试包括 正式验收测试, alpha测试, beta测试。

正式验收测试;

非正式验收测试其中包括α测试(由用户、测试人员、开发人员共同参与的内部测试。)

和β测试(内测后的公测,即完全交给最终用户测试。)

4.2按测试技术划分(3个)

白盒测试 逻辑覆盖法

黑盒测试 等价类 边界值 判定表 错误推测法 功能分解 场景法

灰盒测试 多用于集成测试阶段不仅关注输出、输入的正确性,同时也关注程序内部的情况。

4.3按测试实施组织划分(3个)

开发方测试

用户测试

第三方测试

5.回归测试——不属于软件测试步骤

指在发生修改该之后重新测试先前的测试用例以保证修改的正确性。

理论上,软件产生新版本,都需要进行回归测试,以验证以前发现和修复的错误是否在

新软件版本上再次出现。根据已经修复好了的缺陷再重新进行测试

6.软件开发流程-软件生命周期

需求分析 概要设计 详细设计 编码 测试 交付 验收 维护

7.什么是Bug?

主要是用来表示电脑系统或者程序中隐藏的错误、缺陷、漏洞等问题。

8.测试用例包含哪些内容

一般情况下,一条测试用例,最基本要包含用例编号、所属模块、用例标题、前提条件、操作步骤、期望结果、实际结果这几大要素

9、软件测试与调试的区别

  1. 软件测试是找出软件已经存在的错误,而调试是定位错误,修改程序以修正错误;

  2. 测试的对像可以是文档和代码 而调试的对像只能是代码;

  3. 调试是随机性的 由程序员完成 为了程序可运行;测试是有目的性的 由测试人员完成为了程序可完成指定功能。

10、手动测试与自动化测试的优缺点

(1)手工测试优缺点

优点:

测试人员具有经验和对错误的猜测能力。具有审美能力和心理体验。具有是非判断和逻辑推理能力。

缺点:

1、重复的手工回归测试,代价昂贵、容易出错。

2、依赖于软件测试人员的能力。

(2)自动化测试优缺点

优点:

1、对程序的回归测试更方便。将回归测试自动运行,可以极大提高测试效率,缩短回归测试时间。

2、可以运行更多更繁琐的测试。

3、可以执行一些手工测试困难或不可能进行的测试。

4、更好地利用资源。

5、测试具有一致性和可重复性。由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的,从而达到测试的可重复的效果。

6、测试的复用性。由于自动测试通常采用脚本技术,这样就有可能只需要做少量的甚至不做修改,实现在不同的测试过程中使用相同的用例。

7、增加软件信任度。由于测试是自动执行的,所以不存在执行过程中的疏忽和错误,完全取决于测试的设计质量

缺点:1、不能取代手工测试

2、手工测试比自动测试发现的缺陷更多

3、对测试质量的依赖性极大

4、工具本身并无想像力

以上是关于软件测试基础的主要内容,如果未能解决你的问题,请参考以下文章

基础练习 芯片测试

基础练习 芯片测试

软件工程个人作业01

试题 基础练习 芯片测试(Java)

如何在python中计算随机森林的训练和测试数据之间的准确性

软件工程个人作业01