ToB企服应用市场:ToB评测及商务社交产业平台

标题: 软件测试 [打印本页]

作者: 天津储鑫盛钢材现货供应商    时间: 2023-5-16 13:09
标题: 软件测试
参考书籍

软件测试技术基础教程
软件测试概述

第一类测试:在设计规定的环境下运行软件的功能,将其结果与用户需求或设计结果相比较,如果相符则测试通过,如果不相符则视为Bug
第一类测试方法以需求和设计为本
第二类测试:强调测试人员发挥主观能动性,用逆向思维方式,不断思考开发人员理解的误区、不良习惯、程序代码的边界、无效数据的输入及系统的各种弱点,试图破坏系统、摧毁系统,目标是发现系统中各种各样的问题
测试是以评价一个程序或系统属性为目标的任何一种活动。测试是对软件质量的度量
对于软件缺陷的定义:
软件测试的充分性准则:
软件测试基础

软件测试的目的

软件测试的原则

软件测试的分类

按照软件测试的生命周期分类

按照软件测试技术分类

按照软件测试实施主体分类

按照测试内容分类

软件质量保证的工作内容

软件开发各阶段SQA(软件质量保证)的目标

ISO 9000系列标准是ISO组织制定的国际标准
核心标准是质量保证标准ISO 9001 ~ ISO 9003和质量管理标准ISO 9004
ISO 9001 ~ ISO 9003作为第一类用于建立客户对生产商质量要求保证
ISO 9004作为第二类用于生产商自身建立质量保障体系
ISO 9000系列标准的两个主要特点:
CMM(能力成熟度模型)是软件行业的标准模型,用来定义和评价软件公司开发过程的成熟度,以通用性好作为特点
CMM将软件过程能力成熟度划分为五个等级
软件质量保证和软件测试的关系

软件测试可以查找错误并修改,从而提高软件质量
软件质量保证则是避免错误,从而提高软件质量
正规的软件测试系统主要包括:
软件质量保证的工作为:
共同之处:尽力确保软件产品满足需求
不同之处:软件质量保证侧重于对软件开发过程中的各个过程进行管理与控制;测试是对已产生的软件缺陷进行修复
软件测试规范

通常分为国家标准、行业标准、企业规范和项目规范
软件测试过程与方法

软件测试过程

按照从编写到交付的各个阶段的先后顺序可以分为:
软件测试过程与软件开发过程的关系

软件开发过程是自下向上、逐步细化的过程
软件测试是自上向下、逐步集成的过程
单元测试

单元测试的对象是软件设计的最小单位---模块
单元测试的主要目标:确保个单元模块被正确的编码
单元测试的主要内容:
单元测试的步骤
在编码阶段进行,在代码经过评审和验证,确认没有语法错误后,开始进行单元测试
在单元测试中,会使用辅助模块帮助单元测试的进行
集成测试

是单元测试的扩展和延伸,为了测试程序模块之间接口的规范性、一致性等
需要根据实际情况对程序模块采用适当的策略组装起来
集成测试的层次:
集成测试对传统软件和面向对象的应用系统的测试是不同的
传统软件的3个测试层次:
面向对象的应用系统的两个测试阶段:
集成测试的模式:
采用不同的集成方式对应的测试不同
把模块组装成系统的测试方式有两种:
集成测试的测试计划:测试计划表、各模块单元测试完成日期、首次集成测试日期、集成测试全部完成日期、测试用例及期望结果
集成测试完成的标志:
集成测试需要提交的文档:集成测试计划、集成测试规格说明、集成测试分析报告
确认测试

目的是验证软件的功能和性能及其特性是否与客户的要求一致,是否满足软件需求规格说明书中的规定。
确认测试的流程:
确认测试的准则:
若一个软件的功能、性能及限制条件达到了设计要求,这个软件的开发是成功的
确认测试后发现严重错误和偏差一般很难在预定工期内改正,需要和用户协商
确认测试需要交付的文档有:
确认测试需要进行软件配置复审,目的在于保证软件配置齐全、分类有序,各方面的质量符合要求,具备维护阶段所需的细节资料并且已经编排好分类的目录
系统测试

它是将已经集成好的软件系统,作为整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行的环境下,对计算机系统进行一系列的组装测试和确认测试
系统测试的目的在于:通过与系统的需求定义进行比较,检车软件是否与系统需求顶不符合或与之矛盾的地方,以验证软件系统的功能和性能等是否满足其规约所指定的要求
系统测试的目标
系统测试的过程:
系统测试的设计:
常见的系统测试方法:
验收测试

验收测试是软件开发结束后,用户对软件投入实际应用前进行的最后一次质量检验活动
软件验收测试应该完成的内容:
验收测试的常用策略:
验收测试可以分为两大部分:软件配置审查、可执行程序测试
白盒测试

白盒测试侧重于分析内部结构是否合理,以及设计测试用例来检验产品内部操作是否按照规格说明书正确执行
白盒测试可以分为:静态测试和动态测试
静态测试:不在计算机上执行程序,以人工模拟技术或使用测试软件对软件进行分析和测试
动态测试:设计一系列的测试用例,动态地运行程序,以发现程序中的缺陷
逻辑覆盖测试

逻辑覆盖测试通过对程序的逻辑结构的遍历实现程序的覆盖
覆盖率是度量测试完整性的一个手段,是测试有效性的度量。
覆盖率计算公式:

\[覆盖率 = 至少被执行一次的item数 / item总数\]
测试覆盖可以分为:
路径分析测试

常见的路径覆盖方法:独立路径选择和Z路径覆盖
控制流图是对程序流程图的简化
控制流图的特点:
环型复杂度是描述程序逻辑复杂度的软件度量,适用于独立路径方法,是确保程序中每个可执行语句至少执行一次所必须的测试用例数目的上限
对于控制流图G,设其环型复杂度为V(G),常见的计算方法:
由边和结点围成的区域叫做区域,控制流图外的区域也作为一个区域
独立路径测试
一条独立路径是至少包含有一条在其他独立路径中从未有过的边的路径
独立路径测试的步骤:
如果程序中的条件判断表达式是由一个或多个逻辑运算符连接的复合表达式,则需要变换为一系列只有单个条件的复合表达式,需要变换为一系列只有单个条件的嵌套的判断
Z路径覆盖测试
采用简化循环方法的路径覆盖。不考虑循环的执行次数,只考虑通过循环体0次和1次。即将循环结构转变为选择结构
循环测试

着重循环结构有效性测试的白盒测试方法
循环结构测试用例的设计有4种模式:
代码检查法

主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码逻辑表达的正确性,代码结构的合理性等
代码审查

代码审查的步骤
代码审查的特点:
桌面检查

通过对源程序代码进行分析、检验来发现程序中的错误。桌面检查关注的是变量的值和程序逻辑
代码走查

和代码审查类似,只是在会议进程上有所区别。
代码走查中,由测试者为所测程序准备一批代表性的测试用例,由参与者扮演计算机的角色,让测试用例按照代码逻辑运行,记录程序的状态
白盒测试综合策略

使用N-S图表示基本的控制结构可以用于计算最少测试用例数
测试覆盖准则
黑盒测试

又称为功能测试或数据驱动测试,主要从用户的观点出发,以软件规格说明书为依据,着重测试软件的功能需求,对程序功能和程序接口进行测试
黑盒测试的两种基本方法
常见黑盒测试方法:
等价类划分法

把所有可能的输入数据划分为若干部分,对每个部分中选取具有代表性的数据作为测试用例
有效等价类:对软件规格说明书来说,合理、有意义的输入数据所构成的集合
无效等价类:不满足程序输入要求或无效的输入数据所构成的集合
划分等价类的几个原则:
划分等价类的标准:
针对是否对无效数据进行测试,将等价类测试分为
边界值分析法

边界值分析法的测试用例来自于等价类的边界,是一种补充等价类划分的测试用例设计技术
应用边界值分析法设计测试用例时,应遵循以下原则:
决策表法

用于分析和表达多个逻辑条件下执行不同操作情况
决策表由四部分组成:
任何一个条件组合的特定取值及其相应要执行的操作称为一条规则,在决策表中贯穿条件项和动作项的一列就是一条规则。
建立决策表的步骤:
决策表适用于:
因果图法

利用图解法分析输入的各种组合情况,从而设计测试用例的方法,适用于检查程序输入条件的各种情况的组合
讲解
各种测试方法选择的综合策略

软件测试计划

软件测试计划(STP)是描述对计算机软件配置,系统或子系统进行合格性测试的计划安排,内容包括进行测试的环境、测试工作的标识及测试工作的时间安排等
测试计划的内容:
软件测试计划是整个软件测试流程工作的基本依据,测试计划中所列条目在实际测试中必须一一执行
软件测试计划的目的是明确测试活动的意图,规范了软件测试内容、方法和过程,为有组织地完成测试任务提供保障
软件测试计划的主要作用:明确测试内容、测试完成时间、测试资源、测试风险、测试方法和过程
测试计划的编制原则:
测试过程实施所必备的核心文档是:测试计划、测试用例和软件测试报告
测试用例

测试用例是对一项特定的软件产品进行测试任务描述,体现测试方案、方法、技术和策略
测试用例的内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档
一个完整有效的测试用例应该具备的特点有:

\[测试完成率 = 实际测试项数目 / 计划测试项数目 * 100\%\]

\[测试覆盖率 = [Y]项的数目 / 计划测试项数目 * 100\%\]
[Y]表示测试结果全部通过
自动化测试

主要是通过所开发的软件测试工具、脚本呢等来实现,具有良好的可操作性、可重复性和高效率等特点
测试的自动化部分在于测试过程自动化或测试结果分析自动化
手动测试的目的着重于发现新的软件故障
自动化测试的目的着重于发现旧的软件故障
自动化测试有点:
自动化测试的适用情况:
自动化测试方法:

自动化测试过程

自动化测试工具


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4