首页 > 文库大全 > 精品范文库 > 15号文库

论软件测试在质量保证中的作用

论软件测试在质量保证中的作用



第一篇:论软件测试在质量保证中的作用

论软件测试在软件质量中的作用

论软件质量保证与测试

一:我对软件测试的认识:

软件测试是为了发现程序中的错误而执行程序的过程。具体的说,软件测试是根据然间开发个阶段的规格说明和程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,依法向程序错误的过程。

软件测试的目的和意义在于发现程序中的错误,有效定义和实现软件成分由低到高的组装过程,验证软件是否满足任务书和系统定义文档所规定的技术要求,为软件质量模型的建立提供依据,具体说来如下:1确认软件的质量。一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件;2提供信息。比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息;3软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第3个目的是保证整个软件开发过程是高质量的。

作为软件测试人员,在软件开发过程中的任务就是寻找bug,避免软件开发过程中的缺陷,衡量软件的品质,关注用户的需求,而其最终目标就是:确保软件的质量。

软件测试在软件生命周期中占据重要的地位,在传统的瀑布模布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户1

论软件测试在软件质量中的作用

使用之前保证软件质量的重要手段。近年来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的演示扩散常常会导致最后成品测试的的最大困难。

软件开发过程可分为:需求,实际,实现和测试4个阶段在开发大型软件系统的漫长过程中,面对纷繁复杂的各种现实情况,人的主观认识和客观现实是之间往往存在差距,开发过程中各类人员之间的交流和配合也往往并不是尽善尽美,所以,在软件生存周期的各个阶段都有可能产生差错。软件测试时对软件规格说明,设计和编码的最后复审,是软件质量保证的关键步骤,因此我们一定要重视软件测试工作。

测试是所有工程学院的基本组成单元,是软件开发的重要部分。自由层序时记得那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%左右。而在软件开发的总成本中,用在测试上的开销要占30%-50%。如果把维护阶段也考虑在内,讨论整个软件生存周期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有更多的测试工作。

作为软件测试这个行业,最重要的一件事就是从客户的需求出发,系统的问题越早发现,改正的成本越低,破坏性越小,所以,在系统发布前,要尽量多的把系统的问题找出来,其手段就是有计划,有组2

论软件测试在软件质量中的作用

织的进行充分的测试。系统投产后发想的问题,其危害性被成倍的放大,直接损坏了客户的利益和声誉,同时客户将毫不留情的将板子打在开发商身上,这是开发商费钱费力也可能难以挽回失去的市场。软件测试是软件质量保证的重要手段。二,软件测试的具体方法与测试模型

1、V模型

在软件测试方面,V模型是最广为人知的模型。V模型已存在了很长时间,和瀑布开发模型有着一些共同的特性。V模型中的过程从左到右,描述了基本的开发 过程和测试行为。

V模型优点:在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。

局限性: 把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现.2、W模型

V模型的局限性在于没有明确地说明早期的测试,无法体现“尽早地和不断地进行软件测试” 的原则。在V模型中增加软件各开发阶段应同步进行的测试,演化为W 模型(如下图)。

W模型由Evolutif公司提出,相对于V模型,W模型更科学。

论软件测试在软件质量中的作用

优点:W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题。

缺点:W模型和V模型都把软件的开发视为需求、设计、编码等一系列串行的活动,无法支持迭代、自发性以及变更调整。

3、X模型

X模型也是对V模型的改进,X模型提出针对单独的程序片段进行相互分离的编码和测试,此后通过频繁的交接,通过集成最终合成为可执行的程序。

X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终成为可执行的程序,然后再对这些可执 行程序进行测试。己通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的曲线表示变更可以在各个部分发生。

优点:X模型定位了探索性测试,这是不进行事先计划的特殊类型的测试,这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。

论软件测试在软件质量中的作用

缺点:可能对测试造成人力、物力和财力的浪费,对测试员的熟练程度要求比较高。

4、H模型

H模型中, 软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早的进行,并且可以根据被测物的不同而分层次进行。

这个示意图演示了在整个生产周期中某个层次上的一次测试“微循环”。图中标注的其它流程可以是任意的开发流程,例如设计流程或者编码流程。也就是说, 只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以进行了。

H模型揭示了一个原理:软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。H模型指出软件测试要尽早准备, 尽早执行。不同的测试活动可以是按照某个次序先

论软件测试在软件质量中的作用

后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试执行活动就可以开展。

三.软件测试的重要性及存在的误区

软件测试很重要。

在很多情况下,软件开发人员同用户的思路是完全不同的。开发人员由于接近硬件底层,更多的是从机器的“思维”来考虑问题,而用户只是为了使用。很多软件开发人员抱有这样的思维,认为用户很笨,“你这样用就不会出现错误了!”但事实上,作为一种产品,必须要能够考虑到用户使用的方方面面,并考虑进行各种容错处理。为了记录下用户使用软件的习惯用来提供软件的易用性和发现潜在的问题,微软和国外的很多大型软件开发公司甚至会采用专门的测试房间,用仪器记录用户的使用过程来加以改善使用的界面和出现的问题。

软件测试是软件质量保证的重要手段。有些研究数据显示,国外软件开发机构40%的工作量花在软件测试上,软件测试费用占软件开6

论软件测试在软件质量中的作用

发总费用的30%至50%。对于一些要求高可靠、高安全的软件,测试费用可能相当于整个软件项目开发所有费用的3至5倍。由此可见,要成功开发出高质量的软件产品,必须重视并加强软件测试工作。

国内很多企业还处在探索阶段,小企业的运作方式造成主要精力是要尽快完成初始资本积累。有些企业也了解软件测试的重要性,很努力、很认真地学,但因为很多原因而学不到精髓,不知道如何去做。于是只能局限于书本上学来的简单测试方法而已。即便有些人知道有压力测试和性能测试等测试方法,但如何针对产品实施并不清楚。

软件测试存在的误区:

(1)误区之一:软件开发完成后进行软件测试

人们一般认为,软件项目要经过以下几个阶段:需求分析,概要设计,详细设计,软件编码,软件测试,软件发布。据此,认为软件测试只是软件编码后的一个过程。这是不了解软件测试周期的错误认识。软件测试是一个系列过程活动,包括软件测试需求分析,测试计划设计,测试用例设计,执行测试。因此,软件测试贯穿于软件项目的整个生命过程。在软件项目的每一个阶段都要进行不同目的和内容的测试活动,以保证各个阶段的正确性。软件测试的对象不仅仅是软件代码,还包括软件需求文档和设计文档。软件开发与软件测试应该是交互进行的,例如,单元编码需要单元测试,模块组合阶段需要集成测试。如果等到软件编码结束后才进行测试,那么,测试的时间将会很短,测试的覆盖面将很不全面,测试的效果也将大打折扣。更严重的是如果此时发现了软件需求阶段或概要设计阶段的错误,如果要修复该类错误,将会耗费大量的时间和人力。

(2)误区之二:软件发布后如果发现质量问题,那是软件测试人员的错

这种认识很打击软件测试人员的积极性。软件中的错误可能来自软件项目中的各个过程,软件测试只能确认软件存在错误,不能保证软件没有错误,因为从根本上讲,软件测试不可能发现全部的错误。从软件开发的角度看,软件的高质量不是软件测试人员测出来的,是靠软件生命周期的各个过程中设计出来的。出现软件错误,不能简单地归结为某一个人的责任,有些错误的产生可能不是技术原因,可能来自于混乱的项目管理。应该分析软件项目的各个过程,从过程改进方面寻找产生错误的原因和改进的措施。

论软件测试在软件质量中的作用

(3)误区之三:软件测试要求不高,随便找个人做都行

很多人都认为软件测试就是安装和运行程序,点点鼠标,按按键盘的工作。这是由于不了解软件测试的具体技术和方法造成的。随之软件工程学的发展和软件项目管理经验的提高,软件测试已经形成了一个独立的技术学科,演变成一个具有巨大市场需求的行业。软件测试技术不断更新和完善,新工具,新流程,新测试设计方法都在不断更新,需要掌握和学习很多测试知识。所以,具有编程经验的程序员不一定是一名优秀的测试工程师。软件测试包括测试技术和管理两个方面,完全掌握这两个方面的内容,需要很多测试实践经验和不断学习精神。

(4)误区之四:软件测试是测试人员的事情,与程序员无关开发和测试是相辅相成的过程

需要软件测试人员、程序员和系统分析师等保持密切的联系,需要更多的交流和协调,以便提高测试效率。另外,对于单元测试主要应该由程序员完成,必要时测试人员可以帮助设计测试样例。对于测试中发现的软件错误,很多需要程序员通过修改编码才能修复。程序员可以通过有目的的分析软件错误的类型、数量,找出产生错误的位置和原因,以便在今后的编程中避免同样的错误,积累编程经验,提高编程能力。

(5)误区之五:项目进度吃紧时少做些测试,时间富裕时多做测试

这是不重视软件测试的表现,也是软件项目过程管理混乱的表现,必然会降低软件测试的质量。一个软件项目的顺利实现需要有合理的项目进度计划,其中包括合理的测试计划,对项目实施过程中的任何问题,都要有风险分析和相应的对策,不要因为开发进度的延期而简单的缩短测试时间、人力和资源。因为缩短测试时间带来的测试不完整,对项目质量的下降引起的潜在风险,往往造成更大的浪费。克服这种现象的最好办法是加强软件过程的计划和控制,包括软件测试计划、测试设计、测试执行、测试度量和测试控制。

(6)误区之六:软件测试是没有前途的工作,只有程序员才是软件高手

由于我国软件整体开发能力比较低,软件过程很不规范,很多软件项目的开发都还停留在“作坊式”和“垒鸡窝”阶段。项目的成功往往靠个别全能程序员决定,他们负责总体设计和程序详细设计,认为软件开发就是编写代码,给人的印象往往是程序员是真正的牛人,具有很高的地位和待遇。因此,在这种环境下,软件测试很不受重视,软件测试人员的地位和待遇自然就很低了,甚至软件测试变得可有可无。随着市场对软件质量的不断提高,软件测试将变得越来越重要,相应的软件测试人员的地位和待遇将会逐渐提高。在微软等软件过程比较规范的大公司,软件测试人员的数量和待遇与程序员没有多大差别,优秀测试人员的待遇甚至比程序员还要高。软件测试将会成为一个具有很大发展前景的行业,软件测试大有8

论软件测试在软件质量中的作用

前途,市场需要更多具有丰富测试技术和管理经验的测试人员,他们同样是软件专家。这两年来国内软件测试人员的需求不断增大,越来越多的IT企业认识到了软件测试的重要性。

四,软件质量保证与测试课程对我的帮助

经过一个学期的学习,使我对软件质量保证与测试的方法和重要性及他的理论依据有了一定的认识。这是一门崭新的学科,目前在国内的发展仍处于“婴儿”阶段,特别感谢葛老师这个学期以来的辛勤教导,使我明白的了不仅要会编程,而且还需要学会软件质量测试,它是软件正确性的保证。只有掌握软件质量测试的方法,彻底学会应用这些测试方法和测试理念才能够在以后的编程学习和工作中 保证软件的质量,使自己的能力更上一层楼。

第二篇:《软件测试与质量保证》读书报告

学生课程读书报告

某某某

学号_

0000000_

业_ 软件工程__ 班级_**级软件*班

读书报告题目

××××××××××××× 指导教师及职称

XXX

开课学期

2011

至_ 2012 学年_1_学期

此处写题目(应用此格式)

学号:

姓名:

1.一级标题格式(黑体小四)

正文格式(宋体五号)

1.1 二级标题格式(楷体五号加粗)

正文格式(宋体五号)

参考文献

[1] 作者一, 作者二, 作者三等.论文题目.期刊名称, 年份, 卷号(期号):起始页-终止页.[2] 作者一, 作者二, 作者三等.书名(版次).出版社, 年份, 起始页-终止页.

第三篇:软件测试与质量保证实验指导

实验一.NET软件调试及测试计划

一、实验目的

通过本实验,熟悉.NET软件调试环境与技巧及测试计划的内容,并掌握测试计划的制定过程,能够针对具体项目完成测试策略的制定、测试人员的安排、测试进度安排、测试资源组织等工作。

二、实验内容

1.掌握.NET软件调试环境与调试技巧。基本内容如下:

一、学习附件一的内容,掌握调试技巧;

二、学习c# 中跟踪和调试的技巧-------如何使用 Debug

2.研究给定项目的需求规格说明书,提取测试需求,按照小组的人员情况,安排测试进度,为每一阶段的测试选定测试方法,最后按照给定的测试计划书模版生成完整的测试计划书。

项目需求规格说明书及测试计划模版由教师给出(见相关附件)。

(http://blog.csdn.net/zhouhuozhi/archive/2009/05/14/4180605.aspx)

三、实验要求

1、做好实验预习,掌握,并熟悉本实验中所使用的测试环境及相应的测试软件。

2、写出实验报告,内容是:

(1)实验日期(2)实验题目(3)实验内容

(4)实验结果,包括测试用例,代码清单、测试结果分析和心得体会。

3、本实验以小组为单位,每组上交一篇报告,报告的名称要包括组内人员的姓名。

四、实验学时

本实验需要2学时。

注:实验二与实验三任选一个做;实验四与实验五任选一个做

实验二 单元测试

一、实验目的

通过本实验,熟悉单元测试的目的、内容,并掌握黑盒单元测试的基本方法,能够按照具体要求对指定的程序设计测试用例并进行单元测试。

二、实验内容

1、黑盒单元测试(二选一)

(1)等价类划分法

三角形问题的需求规格描述如下:

输入三个整数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及构不成三角形。

现在要求输入三个整数a、b、c,必须满足以下条件:

条件1 1≤a≤100 条件2 1≤b≤100 条件3 1≤c≤100 条件4 a1、条件2和条件3,程序给出“边的取值超出允许范围”的信息。

如果输入值a、b、c 满足条件

1、条件2和条件3,则输出下列四种情况之一:(1)如果不满足条件

4、条件5和条件6中的一个,则程序输出为“非三角形”。(2)如果三条边相等,则程序输出为“等边三角形”。(3)如果恰好有两条边相等,则程序输出为“等腰三角形”。(4)如果三条边都不相等,则程序输出为“一般三角形”。针对此需求:

1、自己编写程序实现,程序语言不限,并要求在实验前完成;

2、分析该程序的输入,建立等价类划分表,并根据等价类表设计测试用例;

3、根据边界值条件设计不少于10组的测试用例;

4、用所有测试用例对程序进行测试,记录每组测试用例对应的输出结果,并对结果进行分析;

5、确定是否存在bug,如果存在bug,分析其原因并调试修复。(2)因果图法

有一个饮料的自动售货机,其规格说明如下:投入相应的钱数,然后按下相应饮料的按钮,如果钱数不够,则给出信息“投入钱数不够!请继续投入!”,如果金额够,就给出饮料,并找零。如果机器内该饮料已经售完,则提示“该饮料已经售完!”,如果不再买其它的饮料则退钱。如果光投入钱没有选择饮料,则给出提示“请选择饮料!”,如果没有投钱就选择饮料,也会给出提示。(本程序由教师给出)分析该需求中的原因和结果,列出来; 画出因果图;

根据因果图生成判定表(决策表); 根据判定表设计测试用例;

运用测试用例对程序进行测试,并记录测试结果;

6、提交实验报告,报告内容如下:实验题目、实验目的、实验内容、程序清单、测试用例、测试结果、结果分析、心得体会。

三、实验要求

1、做好实验预习,提前编写相关程序,并设计测试用例。

2、写出实验报告,内容是:

(1)实验日期(2)实验题目(3)实验内容

(4)实验结果,包括测试用例,代码清单、测试结果分析和心得体会。

3、本实验以小组为单位,每组上交一篇报告,报告的名称要包括组内人员的姓名。

四、实验学时

本实验需要4学时。

实验三 单元测试

一、实验目的

通过本实验,熟悉单元测试的目的、内容,并掌握白盒单元测试及面向对象的单元测试的基本方法,能够按照具体要求对指定的程序设计测试用例并进行单元测试。

二、实验内容

1、白盒单元测试(二选一)

(1)对实验二中编写的三角形程序,画出其程序流程图;分析程序流程图,确定程序分支;

(2)设计分别满足语句覆盖、路径覆盖、条件覆盖及条件组合覆盖和路径覆盖的测试用例;

(3)用测试用例对程序进行测试,记录测试结果,并对结果进行分析,如果存在缺陷则修改程序,继续测试;

2、面向对象的单元测试

对给定的类设计桩程序或驱动程序,设计测试用例,对其进行单元测试。

三、实验要求

1、做好实验预习,提前编写相关程序,并设计测试用例。

2、写出实验报告,内容是:

① 实验目的

② 实验内容

③ 实验结果,包括测试用例,代码清单、测试结果分析和心得体会。

3、上报实验源代码(或测试脚本、测试结果文件、测试报告),本实验以小组为单位,每组上交一篇报告,报告的名称要包括组内人员的姓名。

四、实验学时

本实验需要4学时。

实验四 集成测试

一、实验目的

通过本实验,熟悉集成测试的目的、内容,并掌握自底向上和自顶向下集成测试的基本方法,能够按照具体要求对指定的程序设计测试用例并按要求进行集成测试。

二、实验内容

自选一个包含多个模块的程序,完成以下工作: *

1、编写辅助程序

2、自底向上集成

三、实验要求

1、做好实验预习,提前编写相关程序,并设计测试用例。

2、写出实验报告,内容是:

① 实验目的。② 实验内容

③ 实验结果,包括测试用例,代码清单、测试结果分析和心得体会。

3、上报实验源代码(或测试脚本、测试结果文件、测试报告),本实验以小组为单位,每组上交一篇报告,报告的名称要包括组内人员的姓名。

四、实验学时

本实验需要4学时。

实验五 系统功能测试

一、实验目的

通过本实验,熟悉系统功能测试的目的、内容,并掌握功能测试基本方法,能够功能规格说明对指定的系统设计测试用例并进行测试。

二、实验内容

对指定的系统,参照系统功能设计测试用例,并进行功能测试,记录测试结果。计算器程序功能测试

给定简单四则运算计算器系统由两个窗体构成,一个是计算窗体,一个是帮助信息窗体。该系统的主要功能是进行十进制的二元加、减、乘、除运算。

系统需求描述如下:四则运算计算器计算用户输入的两个数字的计算结果,要求既能用鼠标点击文本框和命令按钮,也可以脱离鼠标,完全用键盘操作。当用户输入的内容不是合法的数字时,要求程序能给出提示。当用户进行除法运算,并且输入“0“作为分母时,要求程序能给出相应的错误提示。当用户以任何顺序输入数据时,要求程序都能计算出正确结果。当用户完成一次计算后,即可以不清除就再次输入数据,也可以按“清除”键后再输入运算数。要为用户提供帮助功能,用户可以通过点击计算窗体中的帮助按钮进入帮助窗体。在计算窗体中,按返回按钮应退出系统。

三、实验要求

1、做好实验预习,提前编写相关程序,并设计测试用例。

2、写出实验报告,内容是:

① 实验目的② 实验内容

③ 实验结果,包括测试用例,代码清单、测试结果分析和心得体会。

3、上报实验源代码(或测试脚本、测试结果文件、测试报告),本实验以小组为单位,每组上交一篇报告,报告的名称要包括组内人员的姓名。

四、实验学时

本实验需要4学时。

第四篇:软件质量保证与测试课程教学大纲

《软件质量保证与测试》课程教学大纲

一、课程基本信息

中文名称:软件质量保证与测试

英文名称:Software Quality Assurance and Testing 开课学院:计算机科学学院 课程编码:S0835401 学分:2 总学时:32 适用专业:软件工程学术硕士,软件工程专业硕士 修读基础: 软件工程,面向对象程序设计 课程负责人:胥林(副教授)

主讲教师:胥林(副教授);肖斌(副教授);廖浩德(副教授)

二、课程目的任务

1.课程地位作用(课程在实现培养目标中的地位作用)

《软件质量保证与测试》是软件工程专业的专业必修课。其教学目的是通过本课程学习,使学生系统地学习软件测试的基本概念和基本理论,深刻理解和掌握软件测试和软件测试过程的基本方法和基本技术。了解和掌握现代各种新的软件测试技术和主要发展方向,学生能够设计测试用例、使用自动化工具完成完整的项目测试和项目测试管理,学生能基本承担起软件测试的工作任务,为学生将来从事实际软件测试工作和进一步深入研究打下坚实的理论基础和实践基础。

2.课程主要内容(简述:主要内容、重点、难点等)

1、了解软件测试的必要性和重要性。

2、了解软件测试的层次,其中包括单元测试、集成测试和系统测试。

3、掌握黑盒测试方法。

4、掌握白盒测试方法。

5、掌握测试用例的编写方法,并能编写测试方案和测试报告。

6、了解性能测试的内容,并能运用常用的测试工具进行测试。3.学生应达到的基本要求

学生能够熟练掌握软件测试的基本方法和技术,独立完成软件测试过程的相关内容(计划,设计,实施,报告,缺陷管理),具备基本的软件测试的业务能力。

三、教学内容与学时分配

(含各时段学生课外学习要求)

第一章 软件测试基础(2学时(课内))

目的与要求:理解软件测试的目的和作用、了解软件测试的相关概念、了解测试分类

第一节

软件质量与软件测试 1. 软件测试的背景、目的和作用

2.软件测试的相关概念 3.软件测试的分类和测试原则 4.软件质量保证

重点: 软件测试的目的和作用、软件测试的原则、软件测试的分类 难点:软件测试的原则 第二节

软件缺陷与测试用例 1.测试用例的定义和标识

2.错误与缺陷定义和分类 3.测试案例

重点:测试用例的定义和测试用例的标识 难点:测试用例的标识

第二章 测试模型与过程(2学时(课内))

目的与要求:了解测试模型

第一节 软件测试模型与过程(2学时)1.软件测试模型

2.软件测试过程

重点:测试层次的划分

难点:软件测试多种模型的区别 第三章 黑盒测试(6学时(课内))

目的与要求:了解黑盒测试的概念、目标和方法,掌握使用边界值分析、等价类测试、判定表方法进行墨盒测试

第一节 边界值测试

1.黑盒测试的概念、目标和方法 2.边界条件 3.边界值分析 4.健壮性边界测试 5.最坏情况测试 6.案例分析

教学重点:边界值测试,健壮性测试,最坏情况测试 教学难点:用边界值分析方法设计测试用例 第二节 等价类测试

1.等价类 2.等价类测试类型 3.用等价类设计测试用例 4.等价类测试指导方针 5.案例分析

教学重点:等价类测试分类

教学难点:等价类的概念与划分规则 第三节 基于判定表的测试 1.判定表的组成

2.基于判定表的测试 3.基于判定表测试的指导方针 4.案例分析

教学重点:基于判定表的测试 教学难点:用判定表设计测试用例 第四节

案例分析

1.各等价类测试方法的区别

2.运用边界值、等价类和基于判定表的测试方法进行测试设计

教学重点:各等价类测试方法的区别 教学难点:各种方法的综合运用 第四章 白盒测试(6学时(课内))

目的与要求:了解白盒测试的概念、目标和方法。掌握逻辑覆盖测试,了解基本路径测试方法和数据流测试

第一节

逻辑覆盖测试

1.白盒测试的概念、目标和方法

2.语句覆盖 3.判定覆盖 4.条件覆盖 5.判定/条件覆盖

重点:逻辑覆盖测试中的判定覆盖、条件覆盖、判定/条件覆盖 难点:判定/条件覆盖

第二节

逻辑覆盖与基本路径测试 1.条件组合覆盖

2.路径覆盖

3.独立路径、圈复杂度

重点:逻辑覆盖测试中的路径覆盖,基路径测试法 难点:基路径测试法

第三节 案例分析

1.运用逻辑覆盖测试与基本路径测试方法进行测试设计

2.功能性测试和结构性测试的比较

重点:结构性测试方法与功能性测试方法的比较 难点:两种方法的综合运用 第五章 单元测试(2学时(课外))

目的与要求:掌握单元测试的基本过程 第一节

单元测试 1.单元测试的概念

2.单元测试的内容 3.测试的环境和测试策略

重点:单元测试的内容 难点:测试的环境和测试策略 第六章 集成测试(2学时(课外))

目的与要求:掌握集成测试的基本过程 第一节

集成测试

1.集成测试和单元测试的关系

2.集成测试概念 3.基于分解的集成 4.基于调用图的集成 5.基于路径的集成

重点:集成测试中基于分解的集成,MM-路径 难点:集成测试的集成策略 第七章 系统测试(2学时(课外))

目的与要求:掌握系统测试的基本过程 第一节

系统测试 1.系统测试的概念

2.系统测试内容和测试策略 3.系统测试策略

重点:系统测试的内容和方法 难点:系统测试的策略

第八章 性能测试(4学时(课内))

目的与要求:了解性能测试概念、目标、分类、主要性能指标,掌握常用的性能测试工具的使用

第一节

性能测试指标与分类 1.性能测试概念、目标

2.主要性能指标 3.性能测试的分类

重点:负载测试,压力测试,并发测试 难点:主要性能指标的理解 第二节 性能测试方案与工具 1.性能测试方案 2.常用的性能测试工具

重点:性能测试方案的设计 难点:性能测试数据的分析 第九章 自动化测试(6学时(课内))

目的与要求:了解自动化测试定义、使用领域和发展,理解自动化测试技术,掌握常用自动化测试工具的使用

第一节 自动化测试概念 1.自动化测试定义

2.自动化测试使用领域 3.自动化测试的发展 4.自动化测试的组织与实施

重点:自动化测试概念及使用领域 难点:自动化测试的组织与实施 第二节

自动化测试技术与脚本 1.自动化测试技术

2.自动化测试脚本 1.重点:自动化测试技术

2.难点:自动化测试脚本 第三节 自动化测试工具 1.测试工具分类

2.测试工具介绍 3.测试工具的选择

重点:功能测试工具和性能测试工具的使用 难点:自动化测试的组织与实施

第十章 Web系统测试案例(6学时(课内)+6学时(课外))

目的与要求:通过博客系统测试案例分析熟悉软件项目测试全过程管理的方法与流程。

第一节

Web系统测试计划与功能测试 1.测试需求 2.测试资源 3.测试策略 4.测试标准 5.测试用例设计 6.测试实施 7.测试报告 8.缺陷统计

重点:测试需求分析与测试标准 难点:测试需求分析 第二节 博客系统的性能测试 1.测试计划 2.测试用例设计 3.测试脚本开发 4.测试环境 5.测试执行 6.测试结果分析

重点:测试用例设计与脚本开发 难点:测试脚本开发

四、考核方式与成绩评定

1.考核方式:(笔试、论文、口试等)

论文

2.成绩评定办法:(平时成绩、期末考试成绩……等比例)平时成绩40%,期末成绩60%

五、教材及主要参考书目

(一)教材:

1、江开耀,韩永国著.软件测试技术.西安电子科技大学出版社.第1版

(二)参考书:

1、朱少民,软件测试方法和技术,清华大学出版社.第1版

2、John Watkins著.贺红卫,杨芳等译.实用软件测试过程.机械工业出版社.第1版

3、Ron Patton著.张小松,王钰,曹跃等译.软件测试.机械工业出版社.第1版

4、(美)Paul C.Jorgensen 著韩柯杜旭涛译.软件测试.机械工业出版社.第1版

六:其他需要说明的问题

大纲执笔人:胥林

大纲审批机构:计算机科学学院教授委员会

2015年8月18日

第五篇:浅谈软件质量保证

浅谈软件质量保证

摘要:

Software Quality Assurance软件质量保证(SQA)是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用

前言:

SQA的由来:随着第一个正式的质量保证和控制方案在1916年贝尔实验室的出现,整个制造业都认可了这一方案,时至今日每个公司都有其保证其产品质量的机制,公司对质量的保证也渐渐成为其核心的市场策略。对于软件开发来说,一个项目的主要内容是:成本、进度、质量。软件本身作为一种无形产品,其质量指的是:“系统,部件或者过程满足顾客或者用户需要或期望的程度”。在20世纪五六十年代,质量保证曾经只由程序员承担。而正规的软件质量保证标准首先在20世纪70年代初军方的软件合同中出现,此后迅速传遍整个商业世界。提出而随着市场化发展的成型,任何软件公司对自己产品的质量问题越来越关注,测试所花费的成本越来越多。在起初国外很多的大软件公司公司比如IBM、CA等,SQA的职责就是测试(主要是系统测试)。后来,由于缺乏有效的项目计划和项目管理,留给系统测试的时间很少。另外由于软件最终使用者的不专业性,需求变化太快,没有完整的需求文档,测试人员就只能根据自己的想象来测试。这样一来,测试就很难保障产品的质量,促进了事先预防的SQA职能的产生。随后随着软件开发模型的不断演化和发展CMM模型的出现,它引入了“全面质量管理”的思想,至此许多公司将SQA人员独立于项目组,以保证评价的客观性。专业的SQA人员应运而生。

简介:

软件质量保证(SQA)是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。其根本目的是使软件过程对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。软件质量保证组在项目开始时就一起参与建立计划、标准和过程。这些将使软件项目满足机构方针的要求。

SQA的基本目标:

1: 软件质量保证工作是有计划进行的。

2: 客观地验证软件项目产品和工作是否遵循恰当的标准、步骤和需求。3: 将软件质量保证工作及结果通知给相关组别和个人。

4: 高级管理层接触到在项目内部不能解决的不符合类问题。

具体分析:

1:软件质量所包含的因素及软件质量评价标准:

软件质量包含的因素:正确性,可靠性,效率,完整性,可用性可维护

性,灵活性,可测试性,可移植性,可复用性,互操作性等等。

软件质量评价标准:质量需求准则,着眼点是是否满足用户的要求;质量设计准则,开发者在设计实现时是否按软件需求保证了质量。质量度量准则,为质量度量规定了一些检查项目。

从事专业SQA的人员所应具备的基本素质,工作中的基本职能及与其他相似职能的区别:

SQA人员所应具备的基本素质:

按照软件界已经达成的共识:影响软件项目进度、成本、质量的因素主要是 “人、过程、技术”。首先要明确的是这三个因素中,人是第一位的。SQA小组的成员首先应当时刻以客户的观点看待软件。从事SQA工作由于要按照相应的标准对专业的行为加以监管,深刻了解企业的工程,并具有一定的过程管理理论知识 对开发工作的基本情况了解,能够理解项目的活动,因此首先应具备较高的关于软件开发方面的知识;在工作中过程为中心:应当站在过程的角度来考虑问题,只要保证了过程,QA就尽到了责任;还应具有服务精神即为项目组服务,帮助项目组确保正确执行过程;另外应善于沟通,能够营造良好的气氛,避免其工作本身成为一种找茬活动。我所在的小组在课程实践过程中就出现过负责设计的同学对编码阶段的同学出现质疑,最终出现不愉快的事情。

工作中的基本职能以及于其他相似职能的区别:

要做好SQA工作首先应该明确SQA人员的职能以及与QC、SEPG的区别。QC:检验产品的质量,保证产品符合客户的需求;是产品质量检查者; SEPG:制定过程,实施过程改进;

而SQA人员的主要工作为审计过程的质量,是过程质量审计者,其基本职能为确保过程被正确执行。其本身并不参与过程的制定,A的职责就是确保过程的有效执行,监督项目按照过程进行项目活动;它不负责监管产品的质量,不负责向管理层提供项目的情况,不负责代表管理层进行管理,只是代表管理层来保证过程的执行。

3:SQA活动:

软件质量保证由各种任务构成,这些任务分别与两种不同的参与者有关:做设计工作的软件工程师和SQA小组成员。

软件工程师通过采用可靠的技术方法和措施,进行正式的技术评审,执行计划周密的软件测试来考虑质量问题(并完成软件质量保证和质量控制活动)

SQA小组成员的职责为辅助软件工程小组得到高质量的最终产品。其主要工作如下:

为项目准备SQA计划。该计划在制定项目计划实制定,由所以感兴趣的相关部门评审。该计划将控制由项目组和SQA小组执行的质量保证活动。在计划中应标识一下几点:需要进行的评价;需要进行的审计和评审;项目可用的标准;错误报告和跟踪的规程;由SQA小组产生的文档;为软件项目提供的反馈数量。另外还需明确最终审计的结果报告给谁。

参与开发该项目的软件过程描述。软件工程小组为要进行的工作选择一个过程。SQA将评审过程描述以保证该过程与组织政策,内部软件标准,外界所订标准(如ISO9001)以及软件项目计划的其他部分相符。

评审各项软件工程活动,对其是否符合定义好的软件过程进行核实。SQA小组识别记录和跟踪与过量的偏差,并对是否已经改正进行核实。

审计指定的软件工作产品,对其是否符合定义好的软件过程中的相应部分进行核实。SQA小组对选出的产品进行评审;识别,记录和跟踪出现的偏差;对是否已经改正进行核实;定期将工作结果向项目管理者报告。在审计过程中。注意审计一定要有项目组人员陪同,双方要开诚布公,坦诚相对。审计的内容主要包括:是否按照过程要求执行了相应活动,是否按照过程要求产生了相应产品。

确保软件工作及工作产品中的偏差已被记录在案并根据预定规程进行处理。偏差可能出现在项目计划,过程描述,采用的标准或技术工作产品中。

记录所有不符合的部分并报告给高级管理者。对不符合的部分进行跟踪直至问题得到解决。

4:软件评审:软件评审是软件工程过程中的过滤器。评审被用于软件开发过程的多个不同的点上,起到发现错误和缺陷节日引发排错活动的作用。软件评审起到的作用是净化分析,设计和编码的软件工程活动。在课程实践过程中由于初始需求分析的不明确以及后来概要设计过程中关键点的遗漏所引发的错误曾经导致我们小组代码的两次大部分返工,现在看来在课程实践过程中没有进行软件评审所致

5:正式技术评审(FTR)

正式技术评审是一种由软件工程师和其他人进行的软件质量保障活动。

正式技术评审的目标是:发现功能、逻辑或实现的错误;证实经过评审的软件的确满足需求;保证软件的表示符合预定义的标准;得到一种一致的方式开发的软件;使项目更易管理。

评审会议一般由3-5人参加,不超过2小时,由评审主席、评审者和生产者参加,必须做出下列决定中的一个:工作产品可不可以不经修改而被接受;由于严重错误而否决工作产品;暂时接受工作产品。

评审总结报告和记录保存:评审会议结束时,生成一份评审问题列表,完成一份包括“评审什么?由谁评审?结论是什么?”的评审总结报告。

评审总结报告是项目历史记录的一部分,标识产品中存在问题的区域,作为行政条目检查表以指导生产者进行改正。

评审指导原则:评审产品,而不是评审生产者。注意客气地指出错误,气氛轻松;制定日程并且遵守日程;不要离题,限制争论和辩驳。有异议的问题不要争论但要记录在案;对各个问题都发表见解。问题解决应该放到评审会议之后进行;做书面笔记;限制参与者的人数并坚持事先做准备;为每个要评审的工作产品建立一个检查表。应为分析、设计、编码、测试文档都建立检查表。;为了让评审有效,为FTR分配资源和时间;为了提高效益对所有评审进行有意义的培训;评审以前所做的评审。

6结合课程实践浅谈自己的感受

下面我将结合课程的实践讲一讲个人对于软件质量保证的一些感受,首先说一说每个人所扮演的角色,负责编码的同学相当于软件工程师的角色,而负责需求分析及概要设计的同学责同时兼任了SQA小组成员的角色。在具体实现过程中,在需求分析阶段,通过需求调研我们小组大体明确了客户即TA对机动车违章管理系统的需求,但由于没有把需求调研的工作做到位,在完成需求分析的过程中,我们小组出现了一些问题,主要是对TA要求的理解出现了分歧。此时承担SQA小组责任的同学并没有严格要求自己进一步与TA沟通,解决理解上的分歧,而是个人主观的认为自己的理解就是对的。致使在具体实现时与初始需求出现了一些偏差。这个问题的发生,主要是因为承担需求分析的同学同时兼任SQA小组工作的原因,致使监督的客观性方面出现了问题。在概要设计阶段由于考虑到后期一些功能在后期具体实现中的困难,没有严格按照获取的需求进行设计,主要是出于实现难度的考虑草率的对本已获得的需求进行了一些修改致使本就出现变差的需求进一步打了折扣。在编码阶段针对出现问题时,更是仅仅是就问题而谈问题,把原始的计划放到了一边。回顾整个课程的过程:从在初始人员定位时并没有认识到SQA小组的重要性,因此并没有严格指定专人负责,只是在出现问题时才想到,而在明确两人兼任SQA小组工作后,也没有严格制定明确的计划,也没有正式的评审各项软件工程活动,仅仅是想到什么就说什么,不但造成了小组成员间的冲突,更是对问题的解决没有多大的帮助。而“软件工程师”即从事编码的同学虽然对软件本身进行了一些测试,修正了一些错误,改进了一些BUG,但这一切都是通过想当然去做的,并没有参考设计文档。结论:

无论何种软件只有在保证其质量的前提下才能体现出它的价值。软件质量保证则是保证软件质量的基石。而在软件质量保证的过程中,首先应该明确自己的定位,而后严格按照上面提出的步骤与方法去实现才能更好的完成SQA工作。这一切,都需要我们在今后的学习、工作中积极地去实践。

参考文献:

软件工程实践者的研究方法 Roger S.Pressman

软件质量保证 Schulmeyer,G.G

相关内容

热门阅读

最新更新

随机推荐