[测试]读书笔记(一)

《软件测试实用指南》 林宁,孟庆余  清华大学出版社

ISBN 7-302-09860-3

 

第一章 软件测试引论

 

 

1.1 质量和质量认识论

 

    质量的定义:狭义 产品的质量。

              广义 包括产品质量和工作质量。

 

产品的分类:硬件,流程性材料,软件,服务。

 

    影响质量的因素:人,材料,设备,方法和环境。

 

 

1.2 软件产品和其他产品的差异

 

(1)    软件是逻辑产品而不是实物产品。

(2)    软件的功能只能依赖于硬件和软件的运行环境,以及人们对它们的操作,才能得以实现。

(3)    对软件产品的要求比一般有形产品要复杂。

(4)    在软件设计时发生的复杂性,引起的软件特征包括4方面:第一,功能的多样性。第二,实现的多样性。第三,能见度低。第四,软件结构的合理性差。

(5)    软件的资金密集度比其他工程学科中的资金密集度都要高。

 

 

1.3 软件质量

 

软件质量的定义:反映软件系统或软件产品满足明确或隐含的需求的能力的有关的特性       总和。含义:第一,能满足给定需要的性质和特性的全体。第二,具有所期望的各    种属性的组合程度。第三,顾客和用户觉得能满足其综合期望的程度。第四,确定    软件在使用过程中将满足顾客预期要求的程度。

 

保证软件质量的两种途径:1.保证生存周期过程(ISO 9001 ,CMM,ISO15504)。2.评价         软件最终产品的质量。

 

软件质量管理:经济的实现符合用户要求的软件质量或服务的方法体系及其一系列活动,具体包括确定质量方针和目标,确定岗位责任和权限,建立质量体系(如质量策划,质量控制,质量保证和质量改进)并使之有效运行等所有活动。

       目前被公认和广泛应用的基于软件生存周期过程的管理有 ISO9001 CMM ISO15504。(CMM能力成熟度模型比较全面的描述和分析软件机构的软件过程能力的发展程度,建立了一个描述软件机构的软件过程成熟度的分级标准和框架)

       软件过程能力是指遵循一个软件过程而得到的期望结果的程度。软件过程成熟度是指一个具体的软件过程被明确定义,管理,控制其实效的程度。

 

软件质量模型:一个框架,规定了内部和外部质量的质量模型与使用质量的质量模型,以及它们在软件生存周期中的关系。

 

软件质量特性:(内部和外部质量模型的软件质量属性)功能性,可靠性,易用性,效率,易维护性,易移植性。

       (使用质量模型的软件质量属性)有效性,生产率,安全性,满意度。

 

软件质量度量:被用来确定软件系统或软件产品的某种属性的一种测量方法或测量尺度。

 

软件质量评价过程:由评价的出发点不同,可分为3类,第一,开发者用的过程。第二,需求方用的过程。第三,评价者用的过程。不论哪一种评价过程,都是首先要确立评价需求(确定产品类型,规定质量模型),然后是规定评价(选择度量,建立度量评定等级,确立评估准则),设计评价和执行评价(进行度量,与评估准则相比较,评价结果)等过程。

 

 

1.4 软件测试

             

              1.4.1 软件测试的重要性

                     软件测试:根据软件开发的各个阶段的规约和软件的内部结构,精心设计一批测试       用例(包括输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现            软件中不符合质量特性要求(即缺陷或错误)的过程。

                     软件测试应当贯穿软件生存周期全过程,即包括程序测试和各类文档的评审。

                     微软的例子:ExChange2000 项目经理23人,开发人员140人,测试人员350

              Windows2000 项目经理250人,开发人员1700人,测试人员3200人。开发:测试 = 5:3

              1.4.2 软件测试的目的和原则

                     目的:测试是程序的执行过程,目的在于发现缺陷。

                              一个好的测试用例在于能发现至今未发现的缺陷。

                              一个成功的测试是发现了至今未发现的多个缺陷的测试。

                     测试的目标是以最少的资源和时间,找出软件中隐藏的缺陷甚至错误。测试的成功       与否就是以发现软件中潜在的缺陷多少来衡量。

                     软件测试中的注意事项:① 应当把“尽早地和不断地进行软件测试”作为软件开         发者的座右铭。② 测试用例应由测试输入数据和与之对应的预期输出结果这两部分组              成。③ 程序员应避免检查自己的程序。④ 在设计测试用例时,应当包括合理的输入条    件和不合理的输入条件。⑤ 充分注意测试中的群集现象(IBM公司的OS/370操作系              统,47%的错误仅与该系统的4%的程序模块有关)。⑥ 严格执行测试计划,排除测试         的随意性。⑦ 应当对每一个测试结果做全面检查。⑧ 妥善保存测试计划,测试用例,     出错统计和最终分析报告,为维护提供方便。

 

              1.4.3 软件测试过程

                     测试的驱动程序。

                     测试的桩基模块(stub)。

                     软件测试监视代码。

              1.4.4 软件测试与相关的几个概念

                     排错(debugging)查找,分析和纠正错误的过程。

                     验证(verifivation)其一:确定软件生存周期中的一个给定阶段的产品是否达到前         阶段确立的需求的过程。其二:程序正确性的形式证明,即采用形式理论证明程序           符合设计规约规定的过程。其三:评审,审查,测试,检查,审计等各类活动,或              对某些项处理,服务或文件等是否与规定的需求相一致进行判断和提出报告。

                     确认(validation)在软件开发过程结束时,对软件进行评价,以确认它和软件需求        是否相一致的过程,其目的是想证实在一个给定的外部环境中软件的正确性。

 

 

       1.5 软件测试方法分类

 

                     1. 按动,静态来分:动态测试(运行程序,必须有用例),静态测试(评审,文档        测试)。

                     2. 按软件层面来分:技术评审的任务,管理评审的任务。

                     3. 按开发过程的内,外来分:过程中测试(单元测试,集成测试,系统测试,验                 收测试。一般自己完成,后两个可能交给第三方专业测试,称为α测试),产品测                   试(通常的产品测试:功能测试,性能测试,β测试(用户测试),Benchmark                 试。专门的产品测试:可靠性测试,标准符合性测试,互操作性测试,安全性测试,              强度测试)。

                     4. 按用例所依据的信息来源:白盒,黑盒,灰盒,接口测试。

                     5. 按判断测试的充分性来分:结构性测试,排错性测试,分域测试,功能测试。

                     6. 按测试的完整性来分:完全性和连续性测试(100%语句覆盖),图路径测试(100%         图路径覆盖),程序路径测试(100%程序路径覆盖),穷举测试。

             

 

1.6 软件错误的分级

                     1级错误:不能完全满足软件需求,基本功能未完全实现,危及人员或设备安全              的错误。

                     2级错误:不利于完全满足软件需求或基本功能的实现,并且不存在可以变通的              解决办法(重装或重启不属于变通的解决办法)。

                     3级错误:不利于完全满足软件需求或基本功能的实现,但却存在可以变通的                  解决办法(重装或重启不属于变通的解决办法)。

                     4级错误:不影响完全满足软件需求或基本功能的实现,但有不便于操作员操作              的错误。

                     5级错误:不属于1~4级错误的其他错误。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值