[测试]读书笔记(一)

原创 2006年05月18日 17:05:00

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

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级错误的其他错误。

 

读书笔记MoreEffectiveC++(一)

指针与引用的区别 1.指针可以赋为NULL,而引用不能为空值,引用在定义时必须初始化 2.指针的值可以改变,而引用只能用在一个对象上,引用始终指的是一个对象 3.当你重载某个操作符时,应当使用引...
  • yangkaikwill
  • yangkaikwill
  • 2015年07月23日 00:08
  • 270

CruiseControl读书笔记(一)

CruiseControl:简称CC,持续集成工具,主要提供了基于版本管理工具(如CVS)感知变化或每天定时的持续集成,并提供持续集成报告、Email、Jabber等等方式通知相关负责人,其要求是需要...
  • zzkathy
  • zzkathy
  • 2007年12月19日 22:11
  • 795

使用sql时有关基本类型的细节

由于JAVA中的基本类型会有默认值,例如当某个类中存在private int age; 字段时,创建这个类时,age会有默认值0.当使用age属性时,它总会有值。因此在某些情况下,便无法实现使age为...
  • Anhe0901
  • Anhe0901
  • 2018年01月08日 23:32
  • 13

《中国人史纲》读书笔记:第一章 历史舞台

第一章          历史舞台   每一个民族都有他的生存空间——历史舞台,中国人亦然。 中国人的历史舞台是世界上最巨大、最古老的舞台之一,这舞台就是我们现在要介绍的中国疆土。当时的中国人自以...
  • ywl22
  • ywl22
  • 2012年08月06日 21:15
  • 7060

《笑傲测试》笔记(第八式:春寒锦袍)

主题:如何管理团队以及激励团队   测试是为了先于客户发现问题,这是测试的核心使命。   建立良好的团队氛围,需要考虑这四大要素:   (1)管理者的威信   (2)团队的目标和发展方向  ...
  • guangyinglanshan
  • guangyinglanshan
  • 2017年02月19日 18:39
  • 294

组合数学-01鸽巢原理

定理1 若有n+1只鸽子飞回n个鸽巢,则至少有两只鸽子飞入了同一个鸽巢. 这个原理的证明非常容易, 只要使用反证法马上就可以得到结论. 这个原理也可以表述为:        如果把n+1件东西放入...
  • jiachangbin1989
  • jiachangbin1989
  • 2014年01月19日 16:26
  • 816

两分钟读懂《从0到1》——《从0到1》读书笔记

Some ideas can’t wait!(好主意不应等待) 一些好的创意是无法等待的,如果想到一个好的idea没有去验证,那么等于没有idea。互联网如今的商业思维就是快速试错、快速迭代、快速...
  • yzzst
  • yzzst
  • 2015年06月02日 21:12
  • 1806

《TCP/IP详解 卷一:协议》读书笔记--概述

1.2、分层 TCP/IP通常被认为四层协议系统 链路层:通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡 网络层:处理分组在网络中的活动,例如分组的选路(IP、ICMP和IGMP) 运输层...
  • kangaroo835127729
  • kangaroo835127729
  • 2015年09月30日 17:14
  • 5358

探索性测试读书笔记(一)

全局探索性测试方法(用例执行时机,一些用例在特有的场景中将触发难以预料的缺陷)《如何攻破软件》(How to  Break SoftWare)探索性测试的目标:1、理解应用程序如何工作,它的接口看起来...
  • nilxin
  • nilxin
  • 2012年05月03日 14:58
  • 5512

《测试之美》--读书笔记

《测试之美》--读书笔记 注:
  • ggf123456789
  • ggf123456789
  • 2015年01月27日 17:05
  • 672
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[测试]读书笔记(一)
举报原因:
原因补充:

(最多只允许输入30个字)