软件测试--笔记

更新时间:2023-12-07 20:25:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件测试

第一章 软件测试概述

1.1引子:4W1H问题

对于软件的初学者而言,最常见的五个问题是4W1H What:什么是软件测试,即软件测试是如何定义的?

Which:软件测试到底要对软件的哪些部分展开测试,即测试的对象是什么 Who:在一个项目小组中,哪些人负责对软件进行测试

When:在一个软件产品从立项开发、验收、维护到消亡的整个生命周期过程中,何时开始软件测试工作,

何时可以结束对软件的测试

How:如何对软件进行测试?这也是大部分初学者最为关心的问题

1.2软件与软件测试

1.2.1软件的定义

软件=程序(P)+数据(库)(DB)+文档(D)+服务(S) ? ? ? ?

程序:表示能够完成预定功能和性能的指令的集合,如C语言程序、java程序等。 数据(库):依照某种数据模型组织起来、并存在二级存储器中的数据集合。

文档:指软件在开发、使用和维护过程中产生的文字与图形的集合,如:系统需求规格说明书、测试计划、用户手册等。

服务:指通过提供必要的手段和方法,满足接受服务对象需求的过程。如:安装指导、用户培训、售后技术支持、接受投诉等。

注:软件测试不仅仅是对程序的测试,还应包括对数据、文档和服务的测试。

1.2.2软件的特点

1) 2) 3) 4)

软件是硬件的灵魂,硬件是软件的基础 软件是智慧和知识的结晶 软件的核心是人 软件不会“磨损”

1.2.3软件的分类

1) 按功能分类(固件、系统软件、中间件和应用软件) ? ? ?

固件:直接烧在芯片组或集成电路里的一段程序 系统软件能直接操作底层硬件,并为上层软件提供支持

中间件在应用软件和平台之间建立一种桥梁,常见的中间件包括数据库和万维网服务器

? 2)

? ? ? 3) 4)

应用软件能为用户提供某种特定的应用服务

单机版软件直接安装并运行在单个计算机上,如office、ACDSee等

C/S架构的软件基于互联网或局域网,需要一台服务器来安装服务器端软件,每台客户端都要安装客户端软件,如QQ、MSN等

B/S架构的软件:B/S架构的软件也是基于互联网或局域网,但这类软件不需要安装客户端软件,只需要浏览器软件即可

按技术架构分类(单机版软件、C/S架构的软件、B/S架构的软件)

按用户分类(产品软件和项目软件)

按开发规模分类(小型软件、中型软件和大型软件)

1.2.4软件测试定

软件测试指使用人工河自动手段来运行或测试某个系统的过程,目的在于检验其是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。

1.3软件缺陷

1.3.1软件缺陷的定义

只有符合以下五条规则才能叫软件缺陷 ? ? ? ? ?

软件未达到需求规格说明书中指明的功能 软件出现了需求规格说明书中指明不会出现的错误 软件功能超出需求规格说明书中指明的范围

软件未达到需求规格说明书中虽未指出但应达到的目标

软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好

1.4测试用例

1.4.1测试用例的定义

定义:指执行条件和预期结果的集合,完整来讲是针对要测试的内容所确定的一组输入信息,是为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据。 测试用例可以用一个简单的公式表示: 测试用例=输入+输出+测试环境 1输入:指测试数据和操作步骤 ○

2输出:指系统的预期执行结果 ○

3测试环境:指系统环境设置,包括软件环境、硬件环境和数据,有时还包括网络环境 ○

1.4.2测试用例的重要性

测试用例的重要性体现在技术和管理两个层面

1、

就技术而言,测试用例有利于以下方面:

1指导测试的实施 ○

2规划测试数据的准备 ○

3编写测试脚本的“设计规格说明书” ○

4降低工作强度 ○2、

就管理层面而言,使用测试用例的好处有以下几个方面 1团队交流 ○

2重复测试 ○

3检验测试员进度 ○

4质量评估 ○

5分析缺陷的标准 ○

1.4.3测试用例的评价标准

有效性、经济性、可仿效性、可修改性、独立性、可跟踪性

1.4.4测试用例设计的基本原则

1、测试用例的代表性

能够代表并覆盖各种合理的和不合理的,合法的和非法的,边界的和越界的以及极限的输入数据、操作和环境设置等

2、测试结果的可判定性

即测试执行结果的正确性是可判定的,每一个测试用例都应有相应明确的预期结果,而不应存在二义性,否则将难以判断系统是否运行正常 3、测试结果的可再现性

即对同样的测试用例,系统的执行结果应当相同

1.4.5测试用例的输入通常考虑三方面的数据

1、正常数据 2、边界数据 3、错误数据

1.4.6测试用例设计的注意事项

1. 2. 3. 4. 5. 6. 7. 8. 9.

测试用例应尽早设计 测试用例由专门的人来设计

测试用例的功能描述要与软件需求规格说明书保持一致 测试用例的设计并非一劳永逸

在不知道预期结果的情况下,应推迟用例设计 在设计测试用例过程中注意与其他人员的沟通 测试用例在不同阶段下实施时应该是独立的

整个测试用例设计顺序逻辑性要强,以便于测试人员执行用例 测试用例应该满足自清除性

10. 测试用例本身无法保证覆盖要求 11. 每个测试用例应有一个唯一的标识

1.4.7测试需求

1、定义:测试需求是指在一定的策略前提下,对应于验证某个系统的业务需求或功能需求的测试需求 注意:软件需求与测试需求的不同在于:软件需求在于用于指导后续设计的开展,而测试需求则是直接源

于客户的质量需求

2、测试需求应包含两方面的内容:

A、 确定测试什么,就是需求测试的内容

B、 测试对软件产品的需求,解决需要产品为测试提供什么特性,可以更好的去测试的问题,就

是我们通常所说的可测试性需求

3、

测试需求的分类与分析

对应不同的测试目的,可将测试需求分为两类: A、 验证业务过程的流程类测试需求 B、 验证功能点的功能性测试需求

1.5测试环境

1、定义:测试环境就是软件运行的平台,即进行软件测试所必须的工作平台和前提条件 公式表示:测试环境=硬件+软件+网络+历史数据

1硬件:指进行测试所必须的服务器、客户端、网络连接设备,以及打印机、扫描仪等辅助硬件设备所构○成的环境

2软件:指被测软件运行时的操作系统,数据库及其它应用软件等构成的环境 ○

3网络:主要针对C/S、B/S架构的软件 ○

4历史数据:是指测试用例执行所需初始化的各项数据 ○

2、测试环境的重要性 1加快测试速度 ○

2准确重现缺陷 ○

3提高工作效率和软件质量 ○

3、良好测试环境的要素 1良好的测试模型 ○

2多样化的系统配置 ○

3熟练使用工具的测试员 ○

第二章 软件测试原理

2.1测试原则

2.1.1 软件测试应追溯到用户需求

软件开发的最终目的是要满足最终用户的需求,测试员应始终站在用户的角度去看问题,系统中最严

重的缺陷是那些导致程序无法满足用户需求的缺陷。用户是软件最终使用者,同时往往也是软件的投资者。因此,不满足用户需求的软件是无法顺利交付和收回成本的。 2.1.2 应尽早和不间断地测试 2.1.3 对待缺陷的基本原则

1、缺陷的群集现象 2、缺陷有免疫力 3、缺陷关联和依赖 2.1.4 测试结果的处理原则

1、对缺陷进行复查和确认 2、测试结果的全面检查 3、出错统计和分析 4、妥善保存测试过程文档

2.2软件测试的分类

2.2.1按是否需查看代码分类

1、黑盒测试(black-box testing)

黑盒测试是将被测试软件看作一个黑盒子,只考虑系统的输入和输出,完全不考虑程序内部逻辑结构和处理过程

黑盒测试的依据是各个阶段的需求规格说明

黑盒测试又称功能性测试(functional testing)或数据驱动测试(data-driven testing)

2、白盒测试(white-box testing)

白盒测试是将黑盒子打开,研究源代码和程序内部的逻辑结构 白盒测试的依据是程序源代码

白盒测试又称结构性测试(structural testing)或逻辑驱动测试(logic-driven testing)

白盒测试

白盒测试的定义

白盒测试(White-box Testing,又称逻辑驱动测试,结构测试)是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。

白盒测试的目的

本文来源:https://www.bwwdw.com/article/8q6t.html

Top