软件测试基础(一)

一、测试的定义:是指通过人工或自动的手段,对被测对象进行检测的活动,其目的在于发现被测对象与客户需求之间的差异,或者说弄清楚实际结果与预期结果之间的差异。

二、软件:源代码、用户手册、配置数据。

三、测试对象:软件源代码、与软件源代码匹配的文档、支撑软件源代码运行的配置数据(系统设计阶段:概要设计文档、详细设计文档、是否有设计或逻辑上的错误;编码阶段:测试源代码(发现编程上的错误);系统测试阶段:被测对象是否满足用户需求)。

四、软件测试的目的(软件测试工程师存在的价值):

1、发现被测对象与用户需求之间的差异--俗称找bug;

2、通过测试活动发现并解决缺陷,增强人们对被测对象的质量信心;

3、通过测试活动获取被测对象的质量信息,为决策提供数据依据;

4、通过测试活动预防缺陷,降低项目或者产品的风险。

五、软件测试的原则:

1、测试证明软件存在缺陷;

2、不可能执行穷尽测试;

3、软件缺陷存在集群现象(二八定律);

4、测试应尽早启动,尽早介入;

5、杀虫剂悖论;

6、不同的测试活动依赖于不同的测试背景;

7、软件不存在缺陷的谬论。

六、软件质量模型(外部和内部质量):

功能性:

1、适合性

2、准确性

3、互操作性

4、安全保密性

5、功能性依从性

可靠性:

1、成熟性

2、容错性

3、易恢复性

4、可靠性依从性

易用性:

1、易理解性

2、易学性

3、易操作性

4、吸引性

5、易用性依从性

效率:

1、时间特性

2、资源利用性

3、效率依从性

维护性:

1、易分析性

2、易改变性

3、稳定性

4、易测试性

5、维护性依从性

可移植性:

1、适应性

2、易安装性

3、易替换性

4、共存性

5、可移植性依从性

七、测试级别(测试阶段):

1、单元测试:针对被测系统最小的组成单元实施的测试活动,一般是类或函数,也可能是最小的功能单元;

2、集成测试:针对组件/单元与组件/单元之间的的接口实施的测试活动,验证接口设计是否与设计相符;

3、系统测试:将通过集成测试的软件,部署在真实的用户环境下执行测试;

4、验收测试:以用户为主的测试,验收组应该由项目组成员、用户代表组成;

α测试:由用户在开发环境下执行的测试活动,开发者在测试人员身边,发现问题及时沟通解决(在受控环境下执行测试);

β测试:开发者不在测试人员身边,发现问题由专人统一收集,再由研发人员进行修改(在不受控环境下执行测试);

UAT测试:用户接受度测试(一般商业用户验证系统可用性进行的测试);

注意:单元测试阶段大约能发现80%左右的缺陷。

八、系统测试类型:

1、功能性测试:在指定使用条件下,使用被测对象,验证其是否满足用户显性或隐形需求;

测试关注点:1)、是否有不正确或遗漏或多余的功能

2)、满足系统显性或隐形需求

3)、是否对输入输出做出了正确的响应,输出结果能否正确显示

2、性能测试:通过模拟被测对象运行业务的压力或使用的场景,验证被测对象是否满足预先设定的性能指标;

测试关注点:1)、验证系统是否具有宣称的能力

2)、了解测试系统典型场景,并具有确定的性能目标

3)、要求在真实环境下实验

3、安全性测试:测试被测对象的安全保护机制保护系统不受非法侵入,能够接受正确授权的操作;

4、兼容性测试:验证被测对象在不同的操作系统、硬件信息等环境下的运行情况;

九、软件测试方法:

1、黑盒测试:不关注被测对象内部结构,仅从用户需求考虑,是否满足用户显性或隐形需求;        2、白盒测试(结构测试、逻辑驱动测试):对被测对象内部结构进行测试;

3、灰盒测试:既关注被测对象的外部特征,又关注其内部设计;

4、静态测试:在被测对象没有运行的时候进行的检测活动;

5、动态测试:在被测对象运行的过程中进行的检测活动;

6、手工测试:通过测试工程师试用,验证被测对象是否满足用户需求;

7、自动化测试:通过自动化测试工具或脚本语言自动化完成测试过程;

时间: 2024-12-24 07:20:39

软件测试基础(一)的相关文章

软件测试基础学习笔记

LR学习笔记 I.         软件测试基础 1.     软件的概念:程序与文档的结合. 2.     软件缺陷的概念:指计算机的硬件.软件系统或应用软件出现的错误,即为BUG. 1)     硬件错误原因:设计错误和硬件部件老化失效 2)     软件错误原因:软件开发企业设计错误引发 3.     软件生命周期的概念:从软件需求的定义.产生直到被废弃的生命周期. II.         软件测试的定义 1.     测试:包含硬件测试和软件测试 2.     测试用例:针对需求规格说明

软件测试基础知识

软件测试基础知识 1.  软件质量与软件测试 软件测试:在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档.数据以及程序进行测试 软件质量:软件特性的总和,软件满足规定或潜在用户需求的能力 2.  软件测试与质量保证 软件测试只是质量保证工作中的一个环节,软件质量保证与软件测试是软件质量工程的两个不同层面的工作: 质量保证:通过预防.检查与改进来保证软件质量,采用全面质量管理和过程改进的原理来开展质量保证工作,主要关注软件质量的检查与测试,主要着眼于软件开发活动

测试用例与软件测试基础

一.软件测试基础 软件:简单的理解就是软件是一个集合,包含三个部分:程序代码.文档.数据 软件测试:软件测试就是为了发现错误而审查软件文档.检查软件数据和执行程序代码的过程.其目的在于在软件交付使用前充分发现缺陷并协助相关部门定位.解决缺陷,最后交付一个高质量的软件给用户.软件测试是软件生存周期的一个重要阶段,其主要任务是对被测对象,从初期的需求规格说明书,到最后的系统交付使用,整个过程进行检查.验证,以确保软件质量. 测试目的:基于不同的立场,存在着两种完全不同的测试目的.从用户的角度出发,普

《软件测试基础》读书报告:第四章 输入空间划分

<软件测试基础>读书报告 第四章 输入空间划分 为了更直接地使相同测试需求的值集合是恰好合适,划分输入空间的方式直接的根据输入值的参数来定义输入域.输入参数可能是方法的参数和全局变量,也可能是系统当前的表现状态,或者干脆是用户级给定的一个输入,这都要根据实际情况来划分.总输入域中划分出若干个区域,从这些区域中选出一些值来进行测试. 从参数的域开始,把每个域可能的值划到块里,从块中选取适当的值来组成测试用例的过程就是输入域建模的过程.对于输入与的划分,一般是基于程序相应的某周特性,程序的输入,程

第2章, 软件测试基础

2.1.1,什么是软件测试 软件测试的经典定义是在规定条件下对程序进行操作,以发现错误,对软件质量进行评估 60%以上的软件错误并不是程序错误,而是分析和设计错误,因此做好软件需求和软件阶段的测试工作就显得非常重要 2.1.2,什么是软件质量 软件质量定义:软件特性的总和,软件满足规定或者潜在用户需求的能力 2..1.3,软件测试与质量保证的区别 质量保证:质量保证的重要工作通过预防.检查与改进来保证软件质量,着重于软件的开发过程.步骤和产物 软件测试:对软件开发的过程产物以及软件进行剖析,软件

软件测试基础(1)

目录 l 软件测试基础 l 掌握软件测试相关的概念 l 掌握软件生命周期以及各阶段相关的工作 l 掌握测试的对象和原则 l 了解软件开发模型 l 掌握软件测试模型及各模型的特点 l 掌握软件测试的方法和类型 l  了解软件测试质量及测试与QA的关系.区别 测试相关概念 IT( information technology )信息科技和产业的意思 软件:一系列按照特定顺序组织的计算机数据和指令的集合程序+数据+文件 产品:能够供给市场,被人们使用和消费,并能满足人们某种需求的任何东西,包括有形的物

软件测试基础入门知识点

软件测试基础入门知识点 一.行业前景 前言 ? 程序员之间流传着这样一句话:有人喜欢创造世界,他们做了开发工程师,有人喜欢挑毛病,所以他们做了测试工程师. 什么是软件测试 软件测试就是利用手工或测试工具按照测试方案和流程对产品进行功能和性能测试,简单的来说就是为软件做"质检". 软件测试的重要性 ? bug 的经济损失: ? 软件 bug 对我们的生活,工作都会带来毁灭性的破坏.据悉,每年的软件 bug 会让整个市场经济带来近600亿美元的损失! 成立软件测试部门的原因 软件测试能提前

软件测试基础知识大全

1.   软件生命周期(SDLC)的六个阶段 1.问题的定义及规划       此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性. 2.需求分析       在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析.需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础."唯一不变的是变化本身.",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行. 3.软

软件测试基础(三) 测试阶段

主要有四个阶段:单元测试,集成测试,系统测试和验收测试. 单元测试 单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的.很明确的功能是否正确.通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为.单元测试通常也是由开发编写的(白盒测试的一种).可以使用的方法有静态代码分析,数据流分析,代码覆盖分析等. 集成测试 集成测试,也叫组装测试或联合测试.在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试.实践表明,

软件测试基础(第一阶段)

系统测试模块 一,测试基础 1,什么是软件测试(定义) 使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异, 这里的软件指:软件的源代码,用户手册,配置数据 这些都是软件的构成,都是我们的测试对象 2.软件测试的目的 发现被测对象和用户需求之间的差异(俗称,找bug) 通过测试活动发现并解决的缺陷,增加人民对被测对象的信心 通过测试,获取被测对象的质量信息,为决策提供数据依据 通过测试活动,预防缺陷,从而降低产品的风险 3.测试原则 测试