软件测试静态分析方法教案2Word格式.docx
《软件测试静态分析方法教案2Word格式.docx》由会员分享,可在线阅读,更多相关《软件测试静态分析方法教案2Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
![软件测试静态分析方法教案2Word格式.docx](https://file1.bdocx.com/fileroot1/2023-1/10/924ce67f-4806-4a03-a2e6-ea95c035bf34/924ce67f-4806-4a03-a2e6-ea95c035bf341.gif)
1.回顾上一节:
[0分钟]
2.课程知识点讲解:
2.1.具体知识点1:
[15分钟]
结构度量元McCabe复杂度
首先软件复杂性主要表现为软件结构的复杂性,而McCabe复杂度就是对软件结构进行分析,其基本思想,即是程序的复杂性很大程度上取决于程序控制流的复杂性,单一的程序顺序结构最简单,循环和选择所构成的环路越多,程序就越复杂。
然后介绍McCabe复杂度计算方法,其中重点介绍圈复杂度计算,其余可以让学生课下学习….PPT21。
接着介绍圈复杂度的概念、涉及定义和计算公式。
把程序结构的控制流程图转化为有向图(即程序图),然后计算强连通有向图的环数来衡量软件的质量,用此方法得到的复杂度称为圈复杂度。
定义1:
将程序控制流程图转换为程序图(由节点和有向弧组成);
定义2:
强连通图是指从图中任意一个节点出发都能到达所有的其他节点;
定义3:
强连通图有向图的环数是指在一个强连通有向图中线性无关环的个数,即有向图G中的弧数m与节点数n的差再加上分离部分的数据。
接着介绍计算公式,第一种:
V(G)=m-n+2p;
第二种:
程序图中判定节点的数目加1;
第三种:
强连通程序图在平面上围成的区域的个数…….PPT22-23。
接着举一个例子…..PPT24。
接着介绍圈复杂度的优点、缺点和应用……PPT25-26。
接着介绍McCabe复杂度计算其他方法,简单介绍(让学生课下自己学习)…….PPT27。
接着介绍其他度量元(除了上述的Linecount、Halstead和McCabe),简单介绍(让学生课下自己学习)…….PPT28。
2.2.具体知识点2:
[5分钟]
面向对象的复杂性度量(非重点,让学生了解面向对象复杂性度量的思想)
导入:
随着面向对象技术的发展,各种运用面向对象技术、设计的软件越来越多,传统的面向过程的软件度量方法已经无法适应OO技术中的一些机制,如封装、继承、多态等等。
举例:
传统面向过程可以统计代码行数,而面向对象采用继承机制,子类继承父类的方法,属于自身代码的减少,无法用统计代码行数来度量。
接着介绍面向对象度量的特性、面向类度量、面向操作度量、面向OO系统度量…..PPT29-33。
2.3.具体知识点3:
[10分钟]
7.4软件质量模型
软件质量定义和特性
首先介绍软件质量的重要性……PPT35。
接着导入在日常生活中,人们对质量的评价各种各样,但是都不算科学的定量评价,原因是从不同的角度来看软件质量的问题是不同的,
举例说明哪些能够反映软件质量?
(这里可以提问学生)
用户角度质量就是满足用户需求;
开发角度质量就是符合需求说明等等。
接着介绍诠释软件质量的三种角度:
从特性度量:
质量是客户要求或者期望的有关产品或者服务的一组特性,落实到软件上,这些特性可以使软件的功能、性能和安全性等。
这些特性应该是可以度量的。
从流程度量:
软件产品生产流程,流程可以理解为一个活动序列中相关的输入、输出、实现方法等,ISO9001和SW-CMM都是从流程角度来探讨软件质量。
从客户角度:
评价顾客满意度等。
接着介绍软件质量定义:
有三种……..PPT36。
接着介绍软件质量的3种不同视角(用户、开发、管理)和6种特性(功能性、可靠性、可用性、效率、维护性、可移植性),6种特性是后面软件质量分层模型的基础,可以重点讲解一下…..PPT37-38
2.4.具体知识点4:
软件质量分层模型、软件质量度量与评价
尽管软件质量是难于定量度量的软件属性,但是人们还是想尽办法来定性和定量地描述软件质量。
从上面描述可以看出,软件质量可用软件质量特性来表示,而软件质量特性反映了软件的本质。
于是,人们用软件质量模型来描述影响软件质量的特性。
接着介绍三层模型及常见质量模型…..PPT39-45。
接着介绍软件质量度量与评价,涉及度量过程、度量原则、评价指标、定量评价公式……PPT46-54。
3.本节总结[5分钟]
通过本节的学习,相信大家对McCabe复杂度计算、面向对象度量、软件质量概念、定义和特性、软件质量分层模型、软件质量度量与评价有了一定理解,本节重点内容是McCabe复杂度计算,软件质量概念、定义和特性、软件质量分层模型,掌握好这些重点内容对后期测试课程的学习有良好的指导作用,希望大家课下及时的巩固本节所学内容,并按时完成课后作业。
4.考核点
考核点1:
McCabe圈复杂度计算
考核点2:
软件质量概念、定义和特性
考核点3:
软件质量分层模型
考核点4:
软件质量度量与评价
5.测试题
测试题1:
6.扩展部分
扩展部分1:
7.学员问题汇总
学员问题1:
学员问题2:
8.作业
习题1:
习题2:
课时2
1课时
7.5软件质量管理
7.6惠普静态分析工具HPFortifySCA
●本课主要目的
⏹掌握质量管理的三个关键阶段
⏹掌握项目中质量管理的原则
⏹掌握软件质量管理的方法
⏹了解全面质量管理
⏹了解敏捷开发中的质量管理
⏹了解惠普静态分析工具HPFortifySCA
⏹软件质量管理的阶段、原则、方法
1.回顾上一课:
[5分钟]
软件质量模型
软件质量是软件工程的开发工作的关键问题,也是软件工程生产中的核心问题。
软件质量高可以降低项目开发的总成本。
软件质量分层模型包括McCall质量模型、Boehm质量模型、ISO/IEC9126质量模型、GB/T16260-2006。
软件度量过程。
2.课程知识点讲解:
2.1具体知识点1:
质量管理的三个关键阶段。
●知识点讲解
质量计划制定阶段
质量目标,提出软件质量的特性和明确的可测量的标准。
质量保证阶段
软件预防性
系统性、反应能力
质量控制阶段
软件质量的特性和明确的可测量
2.2具体知识点2:
软件质量的适度原则
综合考虑进度、成本等因素。
有时候过度紧张,影响到软件质量的提高。
软件质量的落实原则
足够的QA或测试工程师。
重视测试团队意见。
团队建设上,项目经理、开发团队、测试团队力量对等,互相制衡。
以客户需求为指导的原则
注意:
认真分析用户群的划分,真正理解不同用户对质量要求的差异,有区别有取舍地工作
2.3具体知识点3:
技术评审
准备评审
举行评审会议
缺陷跟踪
过程检查
每个阶段的质量目标必须达到,否则问题会积累放大。
需特别注意版本管理、一些关键文档(接口文档、用户手册)的质量。
实施软件测试
2.4具体知识点4:
全面质量管理
PDCA(或PDSA)循环又叫戴明环,是美国质量管理专家休哈特博士首先提出的,由戴明采纳、宣传,获得普及,从而也被称为“戴明环”,也有。
它是全面质量管理所应遵循的科学程序。
计划(Plan)阶段,分为以下4个步骤:
a)分析质量现状,找出当前问题
b)分析产生质量问题的原因和因素
c)软件质量影响因素排序,找到主因
d)针对主因,拟定措施,提出改进计划
执行(Do)阶段
按照计划、目标和措施去具体实施。
检查(Check)阶段
实施结果与目标对比。
处理(Action)阶段
根据检查的结果进行总结,包括以2个步骤:
a)总结经验教训,修正原有制度和标准。
b)将本次PDCA循环遗留问题转入下次循环。
2.5具体知识点4:
敏捷开发特点
强调以人为核心、迭代、循序渐进、贴近用户和拥抱变化。
敏捷开发中有些企业不设置测试工程师,而是叫QA工程师。
敏捷开发中的QA角色
a)QA工程师或项目经理更多扮演教练的角色
b)QA工程师在敏捷开发中连接用户与技术团队
c)针对已经稳定的功能开发和执行自动化回归测试
d)迭代后收集和分析反馈
2.6具体知识点4:
FortifySCA介绍:
a)是一个静态的、白盒的软件源代码安全测试工具
b)它通过内置的五大主要分析引擎:
数据流、语义、结构、控制流、配置流等对应用软件的源代码进行静态的分析
c)分析的过程中与它特有的软件安全漏洞规则集进行全面地匹配、查找,从而将源代码中存在的安全漏洞扫描出来,并给予整理报告
d)扫描的结果中不但包括详细的安全漏洞的信息,还会有相关的安全知识的说明,以及修复意见的提供
e)它是由内置的分析引擎、安全编码规则包、审查工作台、规则自定义编辑器和向导、IDE插件五部分组件构成的一个产品的套件
f)五个组件配合完成对源代码安全漏洞的扫描、分析、查看、审计等工作
3.本节总结[10分钟]
通过本节的学习,相信大家对本门课程的体系已有了比较好的认识,本节的重点内容是软件质量管理和惠普静态分析工具FortifySCA。
其中质量管理介绍了软件质量管理的阶段、原则、方法、敏捷开发的质量管理。
,希望大家课下及时的巩固本节所学内容,并按时完成课后作业。
4.考核点
测试员与QA是什么角色?
5W1H分别是什么?
FortifySCA的功能
5.测试题
简述惠普静态分析工具的用途和功能?
6.学员问题汇总
7.作业