软件可靠性与安全性测试评价
ห้องสมุดไป่ตู้
操作剖面实例
➢ 确定操作模式 ➢ 确定操作的发起者 ➢ 选择表示方法(表格/图形) ➢ 创建操作表 ➢ 确定出现率 ➢ 确定出现概率 ➢ 考虑特殊情况
操作表例子
操作发起者
操作
用户
电话号码输入
增加用户 系统管理员
删除用户
处理语音呼叫,无寻呼,有应答
处理语音呼叫,无寻呼,无应答
电话网
处理语音呼叫,有寻呼,有应答 处理语音呼叫,有寻呼,有对寻呼的应答
剖面的定义
➢ 二维向量的集合,定义为:
❖ Profile = {(item1,p1), (item2,p2), …, (itemn,pn)} ❖ itemi代表剖面中所包含的互不相交的元素中的一
个, 有: item1∩item2∩……∩itemn=Φ
❖ pi代表第i个元素n 的权值或是发生的概率, 有:
基于操作剖面可靠性测试方法
➢ 用操作剖面描述软件的使用 ➢ 分层建立操作剖面
❖ 客户剖面(CP, Customer Profile) ❖ 用户剖面(UP, User Profile) ❖ 系统模式剖面(SP, System mode Profile) ❖ 功能剖面(FP, Function Profile) ❖ 操作剖面(OP, Operational Profile) ➢ 每个操作对应若干个运行
软件失效的统计特性
➢ IBM关于缺陷与失效的统计研究数据 ❖ 客户所看到的57%以上的失效是由占缺陷 总数2%以下的缺陷引起的 ❖ 超过总数61%的缺陷只引起低于3%的客户 将会经历的失效 ❖ 不同的缺陷在所引发的失效率上存在高达4 个数量级的巨大差异
软件可靠性测试目的
➢ 验证软件可靠性满足给定的要求 ➢ 评估软件可靠性水平 ➢ 预计软件可靠性水平 ➢ 实现软件可靠性增长
pi 1
i 1
建立客户剖面
➢ CP = {(c1, pc1),(c2, pc2),……,(cn, pcn)} ➢ 为客户剖面中的用户构建用户剖面
❖UPc1={(u1,pc1_u1),(u2,pc1_u2),……,(um,pc1_um)} ❖UPc2={(u1,pc2_u1),(u2,pc2_u2),……,(um,pc2_um)} ❖…… ❖Upcn={(u1,pcn_u1),(u2,pcn_u2),……,(um,pcn_um)}
大家好
软件可靠性与安全性
第七部分
软件可靠性测评
提要
1 软件可靠性测试 23 软件可靠性建模 33 软件可靠性评估
软件可靠性测试
➢ 是面向失效的测试方法 ➢ 为了满足用户对软件的可靠性要求, 通过对软
件进行测试, 发现并纠正软件中的缺陷, 提高 软件的可靠性水平, 并验证它能否达到用户可 靠性要求的软件测试方法
200 failures / Mcalls
软件可靠性测试方法
➢ 用系统的预期使用域作为模型来指导测试用 例的选择或生成 ❖ 基于操作剖面的可靠性测试方法 ❖ 基于使用模型的可靠性测试测试
➢ 根据失效等级、功能使用频度和重要性来测 试软件, 可对各种使用条件建模 ❖ 正常使用情况 ❖ 危险使用情况(高安全软件) ❖ 恶意使用情况(特殊安全需求)
软件可靠性验证测试方案
➢ 无 失 效 运 行 时 间 间 隔 测 试 (Failure-Free Execution Interval Test)
➢ 定 时 截 尾 可 靠 性 验 证 测 试 (Fixed-Length Reliability Demonstration Test)
➢ 序 贯 可 靠 性 验 证 测 试 (Probability-Ration Sequential Reliability Demonstration Test)
处理语音呼叫,有寻呼,无对寻呼的应答
处理传真呼叫
审计电话号码数据库 系统控制器
恢复硬件失效
操作出现频率
操作
电话号码输入 增加订户 删除订户 处理语音呼叫,无寻呼,有应答 处理语音呼叫,无寻呼,无应答 处理语音呼叫,有寻呼,有应答 处理语音呼叫,有寻呼,有对寻呼的应答 处理语音呼叫,有寻呼,无对寻呼的应答 处理传真呼叫 审计电话号码数据库 恢复硬件失效
建立用户剖面
➢ 对相同类型的用户进行合并, 若用户ui有m个 同类, 则用户ui出现的概率为:
n
pui
pcj_ ui pcj
j 1
➢ 得到用户剖面 ❖UP = {(u1,pu1),(u2 pu2),……,(um pum)}
建立操作剖面
➢ 同理, 可以得到系统模式剖面、功能剖面和操 作剖面 ❖SP = {(s1,ps1),(s2,ps2),……,(sn,psn)} ❖FP = {(f1,pf1),(f2,pf2),……,(fn,pfn)} ❖OP = {(o1,po1),(o2 po2),……,(on,pon)}
出现率 (每小时操作数)
10000 50 50
18000 17000 17000 12000 10000 15000
900 0.1
操作出现概率
操作 电话号码输入 增加订户 删除订户 处理语音呼叫,无寻呼,有应答 处理语音呼叫,无寻呼,无应答 处理语音呼叫,有寻呼,有应答 处理语音呼叫,有寻呼,有对寻呼的应答 处理语音呼叫,有寻呼,无对寻呼的应答 处理传真呼叫 审计电话号码数据库 恢复硬件失效
❖在软件确认阶段进行,验证软件需求规范 中软件可靠性目标的满足情况,在测试过 程中不进行软件缺陷消除
➢ 软 件 可 靠 性 增 长 测 试 (Software Reliability Growth Testing)
❖在软件交付前进行,通过可靠性测试暴露 软件缺陷,采取有效地措施排除失效率较 大的缺陷,以提高交付软件的可靠性
序贯可靠性验证测试演示图
16 失效数 14
12
10 8
6
4
拒绝 继续 接受
Mcalls Fail. at Normalized No. Failure Units
1 0.00375 0.75
2 0.00625 1.25
3 0.025
5
2
0 0
2
4
6
规格化的单位
8
10 Failure intensity objective:
软件可靠性测试时机
➢ 软件可靠性测试与其它测试类型的关系 ❖ 关注的缺陷类型 ❖ 测试用例设计的依据
➢ 建议的软件可靠性测试时机 ❖ 软件系统测试后期
软件可靠性测试类别
➢ 软 件 可 靠 性 验 证 测 试 (Software Reliability Demonstration Testing)