当前位置:文档之家› 软件测试基础理论知识

软件测试基础理论知识

测试理论培训资料测试基础7软件质量10测试方法17 V&V模型(测试过程)20单元测试22集成测试28系统测试36测试覆盖率47测试用例举例49同行评审51配置& 需求管理54缺陷管理56 SQL SERVER59测试工具总结65第一阶段英语单词总结81复习问题总结85测试基础1、软件测试的目的:证明(表达软件能够工作)→检测(发现错误)→预防(管理质量)2、测试执行:单元测试(UT执行):一个测试用例的测试执行;集成测试(IT执行):一个测试用例集的测试执行;系统测试(ST执行):不同测试阶段的测试执行。

这几句话是什么意思,觉得不是很有针对性?3、回归测试的目的:a. 验证错误是否修复;b. 检测对代码的修改是否引入了新的错误。

5、软件测试的主要工作:a. 检视代码,评审开发文档;b. 进行测试设计,写作测试文档(测试计划、测试方案、测试用例等);c. 执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正;d. 通过测试度量软件质量。

6、软件危机的出现主要表现在:a. 由于缺乏大型软件开发经验和软件开发数据积累,开发工作计划很难制定;b. 开发早期需求分析不够明确,造成开发后期矛盾集中暴露;c. 不遵循开发规范,开发文档不完整,软件难以维护;d. 缺乏严密有效的软件质量检测手段,交付给用户的软件质量差。

7、软件危机的后果:a. 软件质量不高,很难稳定;b. 软件项目延期,进度无法控制;c. 成本增加,无法控制预算。

8、软件危机的根源:a. 根据摩尔定律,硬件发展很快,相应对软件系统的期望越来越高;b. 软件系统复杂性提高,需多人合作;c. 软件开发是人的智力活动,无法用已有的产业工程方法来组织管理。

9、软件生命周期的各个阶段:计划→需求分析→设计→编码→测试→运行→评价10、设计:概要设计(HLD):在设计阶段把各项需求转换成相应的体系结构,每一部分是功能明确的模块;详细设计(LLD):对每个模块要完成的工作进行具体的描述。

11、软件研发相关要素:人员、过程、工具。

12、软件项目组人员组成:分析人员、设计人员、开发人员、测试人员、配置管理人员、SQA(质量保证人员);13、软件研发流程类型:瀑布模型、螺旋模型、RVPRUP流程、IPD流程。

14、软件研发中几个重要的过程:需求管理;配置管理;缺陷管理;同行评审。

15、常见的引入缺陷的原因:a. 开发过程缺乏有效的沟通,或者没有进行沟通;b. 软件复杂度越来越高;c. 编程中产生错误;d. 需求不断变更;e. 项目进度的压力;f. 不重视开发文档;g. 软件开发工具本身隐藏的问题。

等等……软件质量软件质量管理体系:软件质量管理体系:CMM 六西格玛ISO9000:2000版标准ISO9000:制定管理理念和原则ISO9001:标准对组织质量管理体系必须履行的要求做了明确的规定,是对产品要求的进一进补充。

(梳心)ISO9004:是组织进行持续改进的指南标准。

八项质量管理原则:一.以顾客为中心:组织依存于其顾客,因此,组织应理解顾客当前的和未来的需求,满足顾客要求并争取赶超顾客期望。

二.领导作用:领导者将本组织的宗旨.方向和内部环境编统一起来,并创造使员工能够充参与实现组织目标的环境。

三.全员参与:各级人员是组织之本,只有他们的充分参与,才能使他们的才干为组织带来最大的收益。

四.过程方法:将相关的资源和活动作为过程进行管理,可以更高效地得到期望的结果。

五.管理系统方法:针对设定的目标,识别.理解并管理一个由相互关联的过程的过程所组成的体系,有助于提高组织的有效性和效率。

六.持续改进:持续改进是组织的一个永恒的目标。

七.基于事实的决策方法:对数据和信息的逻辑分析或直觉判断是有效决策的基础。

八.互利的供方关系:通过互利的关系,增强组织及其供方创造价值的能力。

其中与软件产品产品优其相关有:(一.三.六.七项)1、软件质量的定义:一个实体的所有特性,基于这些特性可以满足明显的或隐含的需求。

而质量就是实体基于这些特性满足需求的程度。

2、软件质量的三个层次:a. 符合需求规格;b. 符合用户显示需求;c. 符合用户实际需求。

3、影响软件质量的因素:流程、技术、组织。

流程:一组活动(活动是否都是必须的;活动角色之间的关系)过程:一组将输入转化为输出的相关联或相互作用的活动。

4、八项质量管理原则的意义:a. 是质量管理的理论基础;b.用高度概括易于理解的语言所表述的质量管理的最基本,最通用的一般性规律;c. 为组织建立质量管理体系提供了理论依据;d. 是组织的领导者有效的实施质量管理工作必须遵循的原则。

5、CMM 软件质量成熟度模型CMM(capabillty Maturity Moelel)由于美国软件工程研究所(SEI )受美国国防部委托立项。

开发人:Watts Humphrey.1991年推出CMM1.0版,1993年提出CMM1.1版现在开发CMMI (CMM Integration )软件能力成熟度模型CMM (提唱过程决定质量)持续改进过程可预测的过程 管理变更标准.产品过程质量纪律的过程 集成工程过程项目管理CMM1级特点:(个人英雄主义)A 项目的成功依赖于一个非常优秀的项目经理的团队。

B 无法重复以往成功的实践。

C 缺乏基本配置管理可视度:整个过程不可预测,不可见,不可控。

(过程管理非常混乱)CMM2级特点:(有纪律)能够重复以前成功的经验和实践。

引入合理需求变更(需求管理)测试与开发分离,整个过程能力可概为有纪律的。

可视度原始需求——需求分析——设计——编码——测试——产品CMM3级特点:(有过程,经过同行评审)组织中有一个专门负责组织的标准软件过程。

(SEPG)可视度同CMM2但整个过程是标准和一致的。

CMM4级特点特点:(量化管理)过程能力是可预防的,因为过程是已测量的并在可测的范围内运行。

组织能定量地预测过程和产品质量方面趋势。

软件产品具有可预测的高质量。

可视度同CMM3但整个过程是可预测的。

CMM5级特点特点:(改进过程本身)通过缺陷来发现过程的不足。

新的开发技术触使改进过程。

可视度同CMM¥级整个是以改进的。

CMM1:初始级,Inltial,不可预测并且缺乏控制;CMM2:可重复级:Repeatable,可重复以前的主要经验;(关键过程区域:需求管理;软件项目计划;软件项目跟踪和监督;软件子合同管理;软件质量保证;软件配置管理。

)CMM3:已定义级:Defined,过程被描述,并得到良好理解;(关键过程区域:组织过程定义;组织过程焦点;培训大纲;集成软件管理;软件产品工程;组际协调;同行评审。

)CMM4:已管理级:Managed,过程被测量并受控;(关键过程区域:定量的过程管理;软件质量管理。

)CMM5:优化级,Optimizing,关注过程改进。

(关键过程区域:缺陷预防;技术变更管理;过程变更管理。

)7、 CMM的用途:a. 评估组用来识别组织中的强处和弱处;b. 评价组用来识别选择不同的业务承包商的风险和监督合同;c. 管理者用来了解其组织的能力,并了解为了提高其能力成熟度而进行软件过程改进所需进行的活动;d. 技术人员和过程改进组用来作为指南,指导他们在组织中定义和改进软件过程。

8、 ISO9001和CMM的关系:相似点:强调管理、过程、规范化和文档化;不同点:CMM把焦点对准软件;ISO9001的范围包括:硬件、软件、流程性材料和服务;两者关系:CMM2级与ISO9001强相关;CMM的每个关键过程域至少按某种解释与ISO9001弱相关。

六西格玛管理法(强调组织能力)本质:全面质量管理,而不仅仅是质量提高手段六西格玛实施方式:DMAIC过程推行控制系统优化解决方案研究资料,确定原因收集资料,寻找原因9、 软件质量模型:功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含需求的功能的能力。

包括:适合性;准确性;互操作性;保密安全性;功能性的依从性。

可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。

包括:成熟性;容错性;易恢复性;可靠性的依从性。

易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。

包括:易理解性;易学性;易操作性;吸引性;易用性的依从性。

效 率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。

包括:时间特性;资源利用性;效率依从性。

维护性:软件产品可被修改的能力。

修改可能包括修正、改进或软件对环境、需求和功能规格说明变化的适应。

包括:易分析性;易改变性;稳定性;易测试性;维护性的依从性。

可移植性:软件产品从一种环境迁移到另外一种环境的能力。

包括:适应性;易安装性;共存性;易替换性;可移植性的依从性。

10、软件质量活动:软件质量保证(SQA)和测试;SQA从流程方面保证软件的质量、测试从技术方面保证软件的质量、只进行SQA或者只进行测试活动不一定能产生好的软件质量。

11、 SQA的主要工作范围:·指导并监督项目按照过程实施;·对项目进行度量、分析,增加项目的可视性;·审核工作产品,评价工作产品和过程质量目标的复合度;·进行缺陷分析,缺陷预防活动,发现过程的缺陷,提供决策参考,促进过程改进。

12、度量:对事物属性的量化表示;软件度量:是指计算机软件中范围广泛的测度,包括对软件系统、构建或生命周期过程具有的某个给定属性的度的一个定量测量。

目的:·提高软件生产率,缩短产品研发周期,降低研发成本、维护成本;·提高软件产品质量,提高用户满意度;·为组织持续改进提供量化的指标和反馈。

13、软件度量的作用:理解;预测;评估;改进。

分类:规模;工作量;进度;质量如何将度量的知识应用于实际工作中:建立测试工作的度量数据,目的是作为预测和改进的基础(a. 熟悉需求:进度、工作量、规模;b. 设计用例:工作效率、覆盖率;c. 执行用例:工作效率、缺陷密度;)测试方法1、什么是白盒测试:·白盒测试是依据被测软件分析程序内部构造,并根据内部构造设计用例,来对内部控制流程进行测试,可完全不顾程序的整体共能实现情况;·白盒测试是基于程序结构的逻辑驱动测试;·白盒测试又可以被称为玻璃盒测试、透明盒测试、开放盒测试、结构化测试、逻辑驱动测试。

2、为什么进行白盒测试:·一般在测试前期进行,通过达到一定的逻辑覆盖率指标,使得软件内部逻辑控制结构上的问难题能基本得到消除;·能保证内部逻辑结构达到一定的覆盖程度,能够给予软件代码质量更大的保证;·发现问题后解决问题的成本较低。

3、白盒测试的常用技术:·静态分析:控制流分析、数据流分析、信息流分析等;·动态分析:逻辑覆盖测试(分支测试、路径测试等)、程序插装等。

相关主题