【软件测试】复习完整版还不快看怎么复习?--电子科技大学2023年期末考试

《软件测试》重要知识点

作者内容发布时间博客地址Github
Trae1ounG软件测试复习2023/6/3Trae1ounG的博客_CSDN博客-软件测试,计算机组成原理,数据库领域博主GitHub - Trae1ounG/jisuanjizuchengyuanli: 计组期末复习汇总

期末题型

分析题 分析怎么解决 分析修改缺陷 应用题 用xx方法进行测试用例设计 编程 如:单元测试程序 设计题:设计测试方案

引论

  • 什么是软件测试?

    • 软件测试是一种检测软件的正确性、完整性、安全性评估其质量的活动过程。换句话说,软件测试是一种以发现程序错误、衡量软件质量为目的,并对其是否满足用户需求进行评估的活动过程。

  • 问题探讨:编程完成后才进行测试存在哪些问题【个人回答】

    • 软件项目一启动,软件测试也就是开始。由于软件的复杂性和抽象性,在软件生命周期各阶段都可能产生错误,所以不应把软件测试仅仅看作是软件开发的一个独立阶段,在编程后进行,而应当把它贯穿到软件开发的各个阶段去。

    • 过晚进行测试提高软件测试的风险,大大提高错误修复的成本,不利于提高软件的质量。

  • 问题探讨:V模型相对传统模型改进了什么?

    • 该模型将测试的各个阶段和分析设计的各个阶段关联起来,单元测试验证详细设计,系统测试验证总体设计,验收测试验证需求分析。

  • 软件质量保证SQA是什么?

    • 软件质量保证是指通过对软件产品进行有计划的评审和审计,来确保软件开发按照产品质量过程标准实施项目的管理活动。

  • 软件质量保证与软件测试的关系

    • SQA指导软件测试的计划与执行,监督测试工作结果的客观性、准确性与有效性,并协助软件测试的工作流程改进

    • 软件测试是SQA工作落实的重要手段,它为SQA提供所需的质量数据,作为软件质量评估的客观依据。

    • SQA是一项软件质量管理性工作,侧重于对软件开发过程进行评审与监控。

    • 软件测试是一项技术性工作,侧重于对软件质量特性进行检测与验证

  • 测试驱动开发TDD:

    • 是一种不同于传统软件开发流程的过程模型。要求在编写某个功能的代码之前先编写测试代码,然后编写功能代码,通过测试来推动整个软件开发工作的进行

课堂练习

  1. C【一个成功的测试是发现了至今未发现的错误的测试】

  2. D

  3. 区别:

    1. SQA是一项软件质量管理性工作,侧重于对软件开发过程进行评审与监控。

    2. 软件测试是一项技术性工作,侧重于对软件质量特性进行检测与验证

软件测试基本概念

软件缺陷

  • 什么是缺陷:

    • 缺陷是指欠缺或不够完备的地方,因为缺陷是相对质量要求而存在的,任何违背了质量要求、违背了客户的意愿,不能满足用户的要求,都可以认为是缺陷。

  • 质量是产品或服务满足所明示或隐含需求能力的固有特性集合

  • 软件质量是什么?

    • 软件产品或服务满足用户需求的程度。具体地说,软件符合明确叙述的功能和性能需求、符合开发标准,具有专业软件都应满足的隐含特征和特性。

  • 软件质量属性:

    • 功能性:是指软件所实现的功能可达到它所设计规范和满足用户需求的程度

    • 可靠性:是指在规定的时间和条件下,软件所能维持其正常的功能操作、性能水平的程度

    • 易用性:指用户学习、操作、使用软件所需努力的程度

    • 效率:软件系统的处理效能,如处理时间、资源使用率

    • 可移植性:软件从一个计算机系统环境移植到另一个计算机环境的容易程度

    • 可维护性:软件投入运行后,若需求发生变化,环境发生改变或软件发生错误时,进行修改所做努力的程度

    • 兼容性:软件与其运行环境中软硬件协调工作的相容程度

    • 可扩展性:软件增加新功能、扩充系统能力的难易程度

  • 软件质量分为:

    • 使用质量

      • 有效性,生产率,安全性,满意度

    • 外部质量

      • 功能性、可靠性、易用性、效率、维护性、可移植性

    • 内部质量

      • 代码耦合度、数据耦合性、程序规范性、需求可溯性、代码复杂度..

    • 过程质量

  • 软件缺陷的定义:

    • 是指软件中存在的任何一种破坏正常运行能力的问题、错误、异常、失败等,其结果导致软件产品在一定程度上不能满足用户的需要。

  • 需求阶段最容易出现软件缺陷,原因:

    • 系统分析人员与用户之间的沟通不畅,对用户需求理解偏差

    • 用户需求经常更改,没有在需求规格说明书中得到及时修订

    • 对规格说明书不够重视,描述内容不够确切

  • 发布阶段修复软件缺陷成本代价最高

    • 软件缺陷在开发早期出现概率大,在早期进行修复成本低

    • 在后期出现概率小,但修复成本高

    • 测试工作应尽早开展

软件测试分类

  • 三层分类

    • 还可以按照测试方式和被测对象分类

静态测试和动态测试

  • 静态测试适合的测试范围

    • 对系统需求规格说明书、系统设计规格说明书进行评审,对程序代码进行审查及静态结构分析等测试活动

    • 能发现

此处可考分析题:分析修改缺陷

  • 动态测试:

    • 动态测试是通过运行被测软件程序,观察该程序在运行过程中的系统行为、变量结果、内存、堆栈等运行数据,来判断软件系统是否存在缺陷的测试活动。

    • 可以发现

  • 产品评审

  1. 为什么需要产品评审? 通过产品评审手段可以及早地发现需求分析、软件设计等阶段的缺陷问题,将质量成本从昂贵的后期返工转化为前期的缺陷发现。

  2. 产品评审定义: 产品评审是对软件开发文档或者代码进行评估的一种手段,以确定其是否与预期结果保持一致。例如,需求文档评审将检查需求文档是否符合用户要求,各项内容是否完整、前后是否一致等。代码评审将检查代码与设计一致性、代码可读性、代码逻辑正确性、代码安全性、代码规范性等。

  • 产品评审形式

    • 最不正式:走查

    • 互为评审

    • 最正式:会议评审

  • 评审类型:

    • 属于软件测试

      • 需求评审

      • 设计评审

      • 代码评审

      • 文档评审

    • 属于软件质量保证

      • 管理评审

      • 流程评审


  • 静态分析:是对软件的源代码进行研读,查找错误或收集度量信息,并不对代码进行编译和仿真运行


  • 软件验证(vertification)是指在开发软件过程中,检验软件是否已正确地实现了产品规格说明书所定义的系统功能和特性

  • 软件确认(validation) 是指在开发软件完成后,检查软件产品是否符合用户的真实需求。

  • 区别

    • 验证:在过程中,验证是否正确实现功能特性

    • 确认:开发完成后,检查是否符合需求

主动测试与被动测试

  • 主动测试是指测试人员主动向被测试对象发送请求、或借助数据、事件驱动被测试对象的行为,从而验证被测试对象的反应或输出结果。

  • 被动测试是指测试人员不干预产品的运行,而是被动地监控产品在实际环境中运行,通过一定的监测机制来获得系统运行的数据,包括输入、输出数据。

黑盒测试与白盒测试

黑盒测试是指在测试中,把程序看作一个不能打开的黑盒子。在完全不考虑程序内部结构和内部特性的情况下,对程序功能进行测试,检查程序功能是否按照需求规格说明进行有效实现、是否能适当地接收输入数据而产生正确的输出信息。

  • 黑盒用于

此处可考设计题,设计测试方案

白盒测试是指在了解被测程序内部逻辑结构情况下,对该程序的内部变量、逻辑结构、运行路径进行测试,检验被测程序的内部动作或运行功能是否符合设计规格要求。

  • 白盒用于

软件测试层次

  • 单元测试

    • 针对软件程序中最小功能单元代码测试

    • 主要采用白盒测试方法,从程序内部结构出发设计测试用例,检查单元程序已实现功能与设计规格是否一致、以及编码中是否存在逻辑错误。

    • 通常需要编写驱动模块桩模块

      • 驱动模块是用来模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数据,将相关数据传送给被测模块,启用被测模块,并打印出相应的结果。并判断被测模块返回值是否和预期值相符

      • 桩模块:使得程序能够编译通过,还需要模拟返回被代替模块的各种可能返回值

    • 还采用代码评审方法

可考Junit编程

  • 集成测试:单元测试之后,将若干单元模块按设计要求组装起来进行的测试,目标是发现模块接口相关问题

  • 系统测试:集成测试之后,在系统层面所进行的功能特性测试和非功能特性测试

    • 是从全局角度对系统各个功能和性能指标进行验证,以确定系统设计是否达到设计目标

    • 功能性测试:在系统层面,对软件系统各个功能按照系统规格说明书进行测试,确认系统的功能实现

    • 非功能性测试

      • 性能测试(负载、压力)

      • 本地化测试

      • 可用性测试

      • 可靠性测试

      • 灾难恢复性测试

  • 验收测试:软件提交用户之前,在实际用户环境中,验证系统功能、性能及其他特性是否符合用户需求

    • α测试--采用实际运行环境和真实数据在公司内部进行

    • β测试--在外部用户试用

软件测试计划和测试用例

  • 测试计划

  • 测试计划是指为了高效地完成软件测试任务而做的准备工作,包括对测试工作量估算、测试资源预算、进度安排、测试风险评估、测试策略制定等工作。

  • 测试计划内容:

    • 目标和范围

    • 项目估算

    • 风险计划

    • 进度安排

    • 资源配置

    • 跟踪和控制机制

课堂练习

  1. A

  2. D

  3. A

  4. C

  5. B

  6. D

软件测试方法

基于直觉和经验方法

针对易用性测试

  • Ad-hoc测试方法,开放测试

  • ALAC:基于用户使用产品的经验知识进行系统测试

  • 错误推测法:测试者根据自己的工作经验、专业知识和直觉来推测出软件中可能存在的各种错误,从而对被测软件采用针对性的测试

基于输入域方法

等价类划分法

  • 将所有可能的输入数据划分成有限的或无效的若干个等价类,然后从每个等价类中选出一个输入数据作为代表形成测试用例

  • 输入规定了取值返回或定值

  • 规定了有效输入集合

  • 输入是布尔值

  • 允许输入n组数据值,并且程序要对每组输入值分别处理的情况下,可将范围内的值域确定n个有效类,和一个范围外的无效等价类

  • 业务规定了输入遵守规矩的情况下,确定一个有效等价类【符合规矩】和若干无效【从不同角度违反规矩】

有效等价类:输入8位数字

无效等价类:输入小于八位数字、输入大于八位数字、输入小数、输入字母、输入非数字符号【?】

边界值分析法

  • 如果输入数据规定了值的范围,则可选取刚达到这个范围的边界值,以及刚刚超越这个范围边界的值作为测试输入数据

99 101 19999 20001 都行

  • 特殊边界值测试

    • 在输入界面内,可以采用默认值、空值、空格、无效数据、垃圾数据等输入数据作为边界测试软件是否存在缺陷

项目名称:空值、全为空格、51个字符、49个字符、垃圾数据

同上

基于组合及其优化方法

等价类划分和边界值分析只适用单个因素输入

判定表

  • 设计步骤

    • 列出所有的条件桩和动作桩

    • 填入条件项

    • 填入动作项,设计初始判定表

    • 简化、合并相似规则

因果图法

  • 问题探讨:

    • 有一个自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币。请设计其因果图和判定表,并给出相应的测试用例。

成对组合测试方法

实际软件项目中,每个输入变量有多个值

  • 成对组合测试方法基本思想每两个输入变量所有取值组合形成不同的测试用例

  • 完整:3x3x3x3 = 81

  • 成对

下面通过一个例子来理解测试过程:

假设有一个包含10个元素的列表框,可以接受1到100个字符的文本框,单选按钮,复选框和确定按钮。

输入值在下面给出,可以由给定函数的字段接受。

  1. 复选框 - 已选中或未选中

  2. 列表框 - 0,1,2,3,4,5,6,7,8,9,

  3. 单选按钮 - 开或关

  4. 文本框 - 1到100之间的字母数。

  5. 确定按钮 - 不接受任何值,仅重定向到下一页。

计算所有可能的组合:

Check Box = 2     
List Box = 10     
Radio Button = 2     
Text Box = 100     
Total number of test cases = 2*10*2*100                      = 4000

测试用例总数(包括负测试用例)为4000。

测试4000个测试用例,是一个非常漫长而耗时的过程。因此,测试团队的任务是减少测试用例的数量,为此,测试团队认为列表框的值是第一个值为0,另一个值可以是任何数字, 现在十个值转换为2个值。

复选框和单选按钮的值不能减少,因为每个值只有2个值的组合。最后,文本框的值分为三个输入类别:有效整数,无效整数和alpha特殊字符。

现在,我们只有24个测试用例,包括负面测试用例。

2*2*2*3 = 24

现在,任务是为所有对技术组合,每列应具有相同数量的值,并且总值应等于24。

要使用文本框列,将最常见的输入放在第一个有效整数的位置,在第二个位置放置第二个最常见的输入是无效的整数,并在最后一个位置放置最不常见的输入是一个alpha特殊字符。

然后开始填充表格,第一列是一个包含三个值的文本框,下一列是一个包含2个值的列表框,第三列是一个包含2个值的复选框,最后一个列是一个单选按钮有2个值。

文本框列表框复选框单选按钮
有效整数0选中ON
有效整数其它未选中OFF
无效整数0选中ON
无效整数其它未选中OFF
AlphaSpecialCharacter0选中ON
AlphaSpecialCharacter其它未选中OFF

在表中,可以看到传统的软件方法产生的是24个测试用例,而不是4000个案例,而成对测试方法仅在6对测试用例中。

示例来自w3c

正交实验法

正交试验设计一般包括以下几步:

①确定研究因素和指标水平;②制作成正交试验表格;③实施试验;④试验结果分析

用一个例子来说明,某网站推出了不同规格的电脑,想了解哪种方案销售量最好。

在不使用正交表的情况下进行测试,尝试所有可能的方案总共3×3×3=27种。

①确定因素和水平

因素是指作为研究对象的参数或指标。水平是一个因素的可取值的。例如,性别有两个取值,即男性和女性,因此有两个水平。

从上面的表格中可知,本次试验共确定3个因素分别是尺寸、颜色、价格。各因素确定如下,水平数均为3 :

②制作成正交试验表格

注:此处来自网络,3因子且水平数均为3应该计算得到行数为=3*2 + 1=7。但规定使用的模型只有L934 所以需要添加一列,此处并未给出,可见下处的问题探讨。

如何填写用例?

观察得到:第一列按比例依次填写,后面的列保证每个取值在一个水平数的范围内个数相同即可

  • 考虑因子和水平数

    • 因子:3,员工号、姓名、邮件地址

    • 水平数:均为2,填值和空值

    • -> L423

编号因子1因子2因子3
1011
2000
3111
4100

测试用例表

编号员工号姓名邮箱
1填写填写
2
3填写填写填写
4填写

  • 水平数和因子的选择

    • 因子:3,A、B、C

    • 水平数:A = [80,85,90]、B = [90,120,150]、C = [5,6,7],水平数均为3

    • ->L934 需要添加一列

编号因子1因子2因子34
1111
2122便
3133
4213
5232
6221
7332
8323
9311

得到测试用例

作业分析

一:邮箱等价类划分

有效等价类如下:

(1) 邮箱输入字符串格式***@uestc.edu.cn* * *@UESTC.EDU.CN( * 为字母或数字)

无效等价类如下:

(2) *中带有非字母或数字的其他字符

(3) 邮箱输入字符串中缺少'@'字符

(4) 邮箱输入字符串中有2个及以上'@'

(5) 邮箱输入字符串@后不是标准的域名

测试用例

测试用例编号测试用例覆盖等价类
1example@uestc.edu.cn(1)
2#example@uestc.edu.cn(2)
3exampleuestc.edu.cn(3)
4example@@uestc.edu.cn(4)
5example@domain.com(5)

二:使用边界值方法和等价类划分对三角形问题设计 。

1) 判断一般三角形的有效等价类是什么?无效等价类是什么?

2) 判断等腰三角形的有效等价类是什么?无效等价类是什么?

3) 判断等边三角形的有效等价类是什么?无效等价类是什么?

三角形判断条件

  • 边长均大于0

  • 构成一般三角形的条件:任意两边之和大于第三条边

  • 构成等腰三角形的条件:任意两边相等

  • 构成等边三角形的条件:三条边都相等

(1) 判断一般三角形的有效等价类与边界值规则设计

((a>0)∩(b>0)∩(c>0)) ∩ (((a+b) > c) ∪ ((a + c ) > b) ∪ ((b + c ) > a ))

判断一般三角形的无效等价类与边界值规则设计

1) ((a>0)∩(b>0)∩(c>0))∩(((a+b)<=c)∪((a+c)<=b)∪((b+c)<=a))

2)(a<=0 ∪ b<=0 ∪ c<=0)

(2) 判断等腰三角形的有效等价类与边界值规则设计

((a>0)∩(b>0)∩(c>0)) ∩ (((a+b) > c) ∪ ((a + c ) > b) ∪ ((b + c ) > a ))∩((a=b) ∪ (b=c) ∪ (c = a))

判断等腰三角形的无效等价类与边界值规则设计

1) (a != b ∩ b != c ∩ c != a)

2) (a <= 0 ∪ b <= 0 ∪ c <= 0)

(2) 判断等边三角形的有效等价类与边界值规则设计

((a>0)∩(b>0)∩(c>0)) ∩ (((a+b) > c) ∪ ((a + c ) > b) ∪ ((b + c ) > a ))∩((a=b=c)

判断等边三角形的无效等价类与边界值规则设计

1) (a != b != c)

2) (a <= 0 ∪ b <= 0 ∪ c <= 0)

测试用例编号测试用例输入(a,b,c)预期结果
1(5,6,8)一般三角形
2(5,6,5)等腰三角形
3(5,5,5)等边三角形
4(5,0,5)非三角形
5(2,2,5)非三角形

三:

函数输入变量Y,M,D,均为正整数

满足条件

  1. 1900 <= Y <= 2100

  2. 1 <= M <= 12

  3. 1 <= D <= 31

  4. 有闰年平年之分

输入参数有效等价类无效等价类
Y1900<=Y<=2100 Y1闰年 Y2平年<1900、>2100、非正整数、其他符号
M1<=M<=12 M1{1,3,5,7,8,10} M2{4,6,9,11} M3{2} M4{12}<1 >12 非正整数 其他符号
D1<=D<=31 D1{1,27} D2{28} D3{29} D4{30} D5{31}<1 >31 D6 其他正整数 其他符号

基于逻辑覆盖方法

  • 逻辑覆盖是一种以程序内部逻辑结构为基础的白盒测试方法,具体分为语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、基本路径覆盖

语句覆盖方法

  • 基本思想:设计若干测试用例,使得被测程序的每个可执行语句至少执行一次。

  • 能解决的问题:发现程序中一些永远不能被执行的语句缺陷,但不能发现程序中的语句逻辑错误。

判定覆盖方法

  • 试图覆盖程序中所有路径的测试方法称为路径覆盖。路径测试的最简单形式就是判定覆盖测试

  • 基本思想:使得程序中的每个判定语句的取真和取假分支至少执行一次,也称为分支覆盖测试

条件覆盖方法

  • 基本思想:使得每个判断中的每个条件的可能取值至少满足一次

  • 条件即判断中的每个不可分割的不等式表达式

  • 满足条件覆盖不一定满足判定覆盖

判定-条件覆盖

  • 找出符合判定和条件覆盖的用例交集

    • 即满足对每个条件的取值,通过组合也满足对每个判断的取值

条件组合覆盖

  • 基本思想:设计足够多的测试用例,使得判断中每个条件的所有取值情况至少出现一次,并且每个判断本身的判定结果也至少出现一次。

  • 即先根据判断中的条件,对条件的不同取值进行组合,然后再将不同判断中的条件一一组合,称为测试用例的覆盖条件

基本路径覆盖

  • 基本思想:覆盖所有可能的分支路径

基本路径覆盖测试用例设计步骤: ①依据代码绘制流程图 ②确定流程图的环路复杂度 ③确定各个独立路径的基本集合 ④设计测试用例覆盖每条基本路径

  • 计算环路复杂度:判断节点数目+1,V(G)确定了程序独立路径

基于缺陷模式的测试

基于模型的测试

课堂练习

  1. C

  2. D

  3. C

  1. D

  2. B

  3. B

  4. C

  1. D

  2. C

  3. D

测试流程和规范

经典软件测试过程

敏捷测试过程

基于风险的测试策略

  • 基于风险的测试策略思想 ●基于风险的测试策略是指先评估测试的优先级,首先做高优先级的测试,如果时间或精力不够,低优先级的测试可以暂时先不做 ●软件测试总是有风险的,基于风险的测试策略是最常用的策略 软件产品的风险度可以通过出错的影响程度和出现的概率来计算

测试过程改进

软件测试规范

课堂练习

  1. C

  2. A

  3. C

  4. B

  5. A

单元测试与集成测试

单元测试是一种对构成软件的最小功能组件代码进行的功能测试。如C语言中一个函数单元,Java程序中一个类,GUI软件中一个窗口或一个菜单功能等。 集成测试是指将多个相关功能模块组装构成的子系统或系统所进行的集成接口测试。

单元测试目标与任务

单元静态测试

分析题:代码审查

单元动态测试

单元测试工具

Junit考察路径测试

集成测试模式与方法

集成测试是将已经通过单元测试的若干模块按设计要求组装起来,然后再进行的测试,它主要检查这些单元模块之间的接口是否存在问题,包括接口参数的一致性引用、 业务流程端到端的正确性等。

系统接口测试

系统接口测试是指本系统与外部系统之间或本系统各个子系统之间的交互点测试。它主要检查这些系统之间的服务依赖关系、数据交换方式、消息传递与时序控制等方面是否存在问题。

Postman能考吗???

课堂练习

  1. C

  2. D

  3. D

  4. C

  5. D

  1. D

  2. D

  3. C

  4. C

  5. D

系统测试

系统测试是将经过集成测试之后的开发软件作为信息系统的一个部分,与计算机硬件、系统软件、支撑软件等部件结合在一起, 对开发软件进行系统级功能测试和性能测试,保证系统的正常运行。同时,也验证系统是否符合功能需求和性能需求。

系统级功能测试

功能测试就是对软件系统的各功能进行验证,根据系统功能需求,逐项测试系统功能是否达到用户要求。

Selenium怎么考??

回归测试

回归测试是指修改了源代码后重新进行系统功能测试以确认修改没有引入新的错误或导致其他代码产生错误(回归缺陷)

二、回归测试策略 ●使用全部用例再测试 ●基于风险选择测试范围 ●基于操作剖面选择测试范围 ●测试修改的部分及受影响部分

性能测试

性能测试是-种为了发现系统性能问题或获取系统性能相关指标而进行的测试。一般在真实环境、特定负载条件下,通过测试工具模拟实际软件系统的运行及其操作,同时监控性能各项指标,最后对测试结果进行分析来确定系统的性能状况。

  • 性能测试目的

    • 评估当前系统性能

    • 寻找系统性能瓶颈

    • 规划系统配置

负载测试

负载测试是模拟实际软件系统所承受的访问负荷,通过变换系统负载(如渗入测试和峰谷测试)来观察不同负载下系统性能表现,如系统响应时间、数据吞吐量、系统占用的资源(如CPU、 内存)等,测评对象的行为特性。 负载测试目的:负载测试用于发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。它通过变换系统运行负载来发现系统问题,从而为系统改进性能提供帮助。

压力测试

压力测试是一种长时间强负载(大数据量、大量并发用户等)下对系统进行 的测试,查看系统在高负载情况下表现的行为,从而有效地发现系统稳定性的隐患和系统在负载峰值条件下功能缺陷等。

目的不同

1、压力测试

目的是在软件投入使用以前或软件负载达到极限以前,通过执行可重复的负载测试,了解系统可靠性、性能瓶颈等,以提高软件系统的可靠性、稳定性,减少系统的宕机时间和因此带来的损失。

2、负载测试

负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征。例如,响应时间、事务处理速率和其他与时间相关的方面

能考JMeter吗??

安全性测试

安全性是指系统防范危险措施有效性,以及使伤害或损害的风险限制在可以接受的水平范围。

软件安全性侧重在信息安全,主要包括数据机密性、完整性、可用性、不可否认性、身份认证、授权、访问控制、审计追踪、隐私保护、安全管理等方面的信息安全。 数据机密性——指防止有用信息泄漏给非授权用户的特性。强调有用信 息只被授权对象使用的特征。

数据完整性——是指信息在传输、交换、存储和处理过程中,保持信息不 被破坏或篡改、不丢失的特性。

容错性测试

  • 容错性测试是检查系统容错能力,即系统在异常条件下自身是否具有防护性的措施或者某种灾难性恢复的手段。

    • 输入异常数据或进行异常操作的系统测试,以检验系统的保护性。如果系统的容错性好的话,系统只给出提示或内部消化掉,而不会导致系统出错甚至崩溃。

    • 灾难恢复性测试。通过各种手段,让软件强制性地发生故障,然后验证系统是否可以将丢失的数据进行恢复处理。

兼容性测试

兼容性测试是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操纵系统平台上、不同的网络等环境中是否能够很友好的运行。

可靠性测试

可靠性是指产品在规定的条件和规定的时间内完成规定功能的能力。

软件可靠性是指软件系统在规定时间内及规定环境条件下,完成特定功能的能力。

课堂练习

  1. C

  2. C

  3. C

  4. B

  5. B

  1. D

  2. D

  3. D

  4. A

  5. C

验收测试

  • 验收测试是在软件产品完成了系统测试之后、产品发布之前所进行 的软件测试活动,它是软件测试的最后一个阶段,也称交付测试。

验收测试过程

产品规格说明书验证

用户界面测试与可用性测试

安装测试与可恢复性测试

课堂练习

  1. A

  2. B

  3. D

  4. C

  5. D

  1. D

  2. B

  3. B

  4. D

  5. A

软件本地化测试

什么是软件本地化

  • 软件本地化是指将某软件产品的用户界面、文档资料、在线帮助等从其源语言向目标语言进行转化,使之适应目标语言及文化的处理过程。

软件国际化是指为保证所开发软件产品能适应国际市场需要,通过特定的系统架构设计、代码编程技术支持软件能在不同语言、不同文化的国家及地区使用,使其在进行本地化时不需要修改软件的程序代码。

  • 软件国际化特点 具有动态切换语言机制 与语言无关的输入/输出接口 资源文件的国际化 支持和包容本地化数据格式

翻译验证

软件本地化中的一个重要工作就是文字翻译,其任务就是将源语言转换为另一种目标语言。翻译验证就是对所翻译的文字内容、语言文化以及特殊符号等进行检查,帮助翻译人员发现本地化翻译存在的错误和不妥之处。

本地化测试技术问题

本地化功能测试

软件本地化是一个软件产品适应本地市场的再造过程,涉及文字翻译、数据格式定制、页面布局调整、软件兼容性处理等改造。软件本地化后,作为一个新的版本来对待,需对该软件版本进行回归功能测试。

课堂练习

  1. A

  2. D

  3. A

测试自动化及其框架

自动化测试内涵

自动化测试是指采用测试工具实现程序驱动替代人驱动所开展的软件测试活动。测试自动化除包括自动化测试之外,还包括测试辅助工作的自动化。

自动化测试实现原理

  • 自动比较技术是指自动将测试输出结果与预期结果进行比较的技术

测试自动化实施

功能测试工具特性要求

性能测试工具特性要求

课堂练习

  1. D

  2. C

  3. D

  4. C

  5. C

测试需求分析与测试计划

测试目标与准则

测试计划目标是通过计划指导测试执行,最终实现系统测试,保证软件质量。

测试需求分析

测试项目估算与进度安排

测试风险管理与策略

测试计划内容与编制

课堂练习

  1. D

  2. B

  3. D

  4. A

  5. C

软件质量保证

软件质量度量

软件质量保证

软件质量保证过程

课堂练习

  1. D

  2. D

  3. D

  4. D

  5. C

标准格式

等价类测试用例

用例【编号】输入数据预期输出【结果】覆盖等价类

因果图生成判定表

选项/规则123
条件C1:年薪制员工101
C2:严重过失011
结果E1:扣年终奖
E2:扣月薪
不可能

白盒测试用例表

用例序号输入数据预期输出覆盖语句【路径、判定条件、条件】
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值