UML软件工程组织

软件测试与质量保证
deepblue 
软件测试
第一讲 软件测试基本概念
1.基本概念
l定义
(79年):the process of executing a program or system with the intent of finding errors.
(83年):any activity aimed at evaluating an attribute of a program or system.
(02年):a concurrent lifecycle process of engineering, using, and maintaining testware in order to measure and improve the quality of the software being tested.
目标
     寻找程序错误
     寻找与用户需求不一致和存在的缺陷
    以较少的用例、时间和人力找出软件潜在的各种错误和缺陷,以确保系统的质量。
2.测试与软件质量-软件质量
定义
–从最狭义上讲,质量可被定义为“无缺陷”。
–质量以顾客的需要为开始,以顾客满意为结束。
–Motorola:如果顾客不喜欢,那该产品就是有缺陷的。
–质量管理协会:与一种产品或服务满足顾客需要的能力有关的各种特色和特征的总和。
–IEEE:与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体。
影响–为了评价软件质量,需要对软件是否满足功能要求、性能要求、符合文档规范标准的程度,
设计一些质量特性及其组合,作为在软件开发与维护中的判断软件质量的重要考虑因素。
–ISO/IEC 9126《软件产品评价-质量特性及其应用指南》定义了6个质量特性:功能性、可靠性、
可使用性、效率、可维护性、可移植性。
3.软件测试的定位
从质量保证的角度看:
 1)监控软件开发过程,是软件开发中不可缺少的一个环节
 2)遵循为软件开发而建立的标准和过程
 3)确保产品、程序中的不足之处能反馈给管理人员软件测试的原则
–所有测试都应追溯到用户需求。
–应在测试工作真正开始前较长时间内就进行测试计划。
–测试发现的错误中,80%很可能起源于程序模块中的20%。
–测试应从“小规模”开始,逐步转向“大规模”。(单元-〉集成-〉系统……)
–一般来说,穷举测试是不可能的。
–为达到最佳测试效果,应保证测试组的相对独立性。
–在设计测试用例的时候,应当包括合理的和不合理的输入条件。
–应对每一个测试结果做全面的检查并保存好测试件。软件测试级别
验收测试
需求规格说明      系统测试
概要设计       集成测试
详细设计       单元测试
     编码

 

6.软件测试现状
-在一般软件开发的总成本中,用在测试上的开销要占30%到50%。
—极端情况下,例如在关系到人的生命安全的软件中,测试费用可能相当软件生存周期所有其它阶段费
用总和的3~5倍。—据美国工业界的统计,对商品化的顺序程序来说,测试在时间和费用两方面的花费都
要占整个软件开发周期总开销的50%左右。—椐统计大约有60%的错误是在设计阶段之前注入的,并且修正
一个软件错误所需的费用将随着软件生存期的进展而上升。错误发现得越晚,修复它的费用就越高,而且
呈指数增长的趋势。
7.预防测试
概念:Preventive Testing requires the creation of test cases to validate the requirements 
before the code is written.
8.STEP方法
•STEP: Systematic Test and Evaluation Process
•STEP重点强调了软件测试的预防能力
•软件测试是与软件的开发和维护并行执行的过程,包括以下几个活动:
Planning (determining risks and selecting strategies)
Analysis (setting tests objectives and requirements)
Design (specifying tests to be developed)
Implementation (constructing or acquiring the test procedures and cases)
Execution (running and rerunning the tests)
Maintenance (saving and updating the tests as the software changes)
9. STEP体系结构
l 策略计划(Plan Strategy)
P1       建立总体测试计划
P2       开发详细的测试计划
l 获取A1       列出测试目标清单(基于需求、基于设计和基于实现)            
A2       设计测试(体系结构和环境、基于需求、基于设计和基于实现)  
A3       实现计划和设计
M1       执行测试。
M2       检查测试集的充分性
M3       评价软件和测试过程 STEP角色和职责
Manager: Communicate plan and coordinate
Analyst: Plan inventory design and evaluate
Technician: Implement execute check
Reviewer: Examine and evaluate

11.STEP工作产品
Testware : the major testing products such as test plans and test specification documents
 and the implemented test procedures, test cases, and test data files.
IEEE标准829-1998:软件测试文档编制标准----测试文档模板–测试计划
用于总体测试计划和针对等级的测试计划。
–测试设计规格说明
用于每个测试等级,以指定测试集的体系结构和覆盖跟踪。
–测试用例规格说明
按需要使用,用于描述测试用例或自动化脚本。
–测试规程规格说明
用于指定执行一个测试用例集的步骤。
–测试日志
按需要使用,用于记录测试规程的执行情况。
–测试意外事件报告
用来描述出现在测试过程或产品中的异常情况。
–测试总结报告
用于报告某个测试等级的完成情况或一个等级内主要测试目标的完成情况
12.STEP方法总结
Methodology     Focus    Planning  Acquisition Coverage Visibility
STEP   Prevention & Risk Management Begins Duration Requirements Definition Begins 
Duration Requirements Definition Known(Relative to inventories) Fully Documented & Evaluated
Prevalent Industry Practice Detection & Demonstrate Begin After Software Design Begin After Software Design Largely Unknown Largely 
Undocumented With Little or No Evaluation


来源:赛迪网

 

版权所有:UML软件工程组织