软件测试毕业论文解读

时间:2019-05-11 23:40:50下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《软件测试毕业论文解读》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《软件测试毕业论文解读》。

第一篇:软件测试毕业论文解读

毕业论文

姓 名:陈鑫 专 业:.Net软件开发 年 级:计软1302 学 号:201317140212指导教师:王梅 1

软件测试的概述及方法、、完成时间:2012年3月

摘要:从软件产业的发展初期到目前的大型软件开发过程,软件测试已成为其中一个不可分割的部分。随着软件规模的日益增大,软件测试问题也日益突出,现代社会对软件的依赖越来越强,高可信软件测试有着广泛的需求,基于缺陷模式的软件测试技术作为高可信软件的重要保证,可以大大降低软件的缺陷密度,提高软件的可信性。本文从测试的基本概念入手,深入剖析软件测试相关理论 关键字:软件测试、白盒测试、黑盒测试、类测试

目 录 软件测试的发展史.......................................4 2软件测试的相关背景......................................5 3 软件测试概述............................................6

3.1软件测试的定义..............................................................................6

3.2软件测试的描述.............................................................................6

3.3软件测试的目的............................................................................7

3.4软件测试的原则.............................................................................8 4 软件测试的内容....................................................................................9

4.1验证(verification)...........................................................................9 4.2确认(validation)....................................9 5 软件测试的分类.........................................10 5.1 常用分类..........................................10错误!未定义书签。

5.2 黑盒测试..........................................10 5.3白盒测试...........................................11

5.4 静态测试..........................................14

5.5动态测试...........................................15 6 软件测试中的类测试.....................................15 6.1念面向

件的6.2.类类

测测

试试

概技.....................................................15术.........................................16 7 参考文献..............................................17 8 致谢...................................................18

1软件测试的发展史

软件测试的发展历史:20世纪60年代(软件工程建立前),为表明程序正确而进行测试。.1972年在北卡罗来纳大学举行了首届软件测试正式会议。.1975年John Good Enough和Susan Gerhart在IEEE上发表了《测试数据选择的原理》的文章,软件测试被确定为一种研究方向。.1979年,Glenford Myers的《软件测试艺术》,对测试做了定义:测试是为发现错误而执行的一个程序或者系统的过程。.20世纪80年代早期,“质量”的号角开始吹响。软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容。制定了各类标准。.1983年,Bill Hetzel在《软件测试完全指南》中指出:测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量。.20世纪90年代,测试工具盛行起来。.1996年提出的测试能力成熟度TCMM(Testing Capability Maturity Model)、测试支持度TSM(Testability Support Model)、测试成熟度TMM(Testing Maturity Model)。.到了2002年,Rick和Stefan在《系统的软件测试》一书中对软件测试做了进一步定义:测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命过程。2软件测试的相关背景

相关背景:前段时间, 就是在我没有认真了解测试行业之前, 可能由于测试在中国的重视程度的问题, 我也一直认为测试应该是不重要的, 甚至认为有必要有专门的测试职业吗?认为软件主要是开发人员的事, 软件的成果也是由开发人员决定的, 当我在参加工作后, 真正从学校的学习环境中走上实际运用开发的时候, 事实上真的不是那么一回事哦。软件无处不在, 软而, 软件是人编的——所以不完美。臭名昭著的软件测试案例:

1、迪士尼的狮子王(1994~1995)软件在少数系统中能正常工作, 但在大众使用的常见系统中不行。后来证实, 迪士尼公司没有对市场上投入实用的各种pc机型进行正确的测试。

2、英特尔奔腾浮点除法软件缺陷(1994)英特尔为自己处理软件缺陷拿出4亿美元支付更换坏芯片的费用。导致付出如此昂贵的代价, 其主要原因是发现了软件缺陷没有正确的处理。

3、美国航天局火星极地登陆(1999)该项目使用前有经过测试, 两个测试小组双方独立工作都很好, 但从未走在一起。

4、爱国者导弹防御系统(1991)一枚导弹在多哈击毙28名美国士兵, 症结在于一个软件缺陷:一个很小的系统时钟错误累积起来就可能拖延14小时, 造成跟踪系统失去准确度。在多哈袭击战中系统被拖延100小时。

5、千年虫(大约1974)估计世界各地更换或升级该系统程序解决原有2000年错误的费用已经超过数亿美元。

3软件测试的概述 3.1软件测试的定义

软件测试使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness)完全度(completeness)和质量(quality)的软件过程;是SQA(software quality assurance)的重要子域。

(1)测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;

(2)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;

(3)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。

3.2软件测试的描述

测试是软件开发过程的重要组成部分, 是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试的目的, 第一是确认软件的质量, 其一方面是确认软件做了你所期望的事情 6(Do the right thing), 另一方面是确认软件以正确的方式来做了这个事件(Do it right);第二是提供信息, 比如提供给开发人员或程序经理的反馈信息, 为风险评估所准备的信息;第三软件测试不仅是在测试软件产品的本身, 而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题, 这说明此软件开发过程很可能是有缺陷的。

3.3软件测试的目的

如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。在谈到软件测试时,引用Grenford J.Myers在《The Art of Software Testing》一书中的观点:(1)软件测试是为了发现错误而执行程序的过程;(2)测试是为了证明程序有错,而不是证明程序无错误;(3)一个好的测试用例是在于它能发现至今未发现的错误;(4)一个成功的测试是发现了至今未发现的错误的测试。这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便 改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。

3.4软件测试的原则

1.应当把“尽早和不断的测试”作为开发者的座右铭。2.程序员应该避免检查自己的程序, 测试工作应该由独立的专业的软件测试机构来完成。

3.设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件, 特殊情况下要制造极端状态和意外状态, 比如网络异常中断、电源断电等情况。

4.一定要注意测试中的错误集中发生现象, 这和程序员的编程水平和习惯有很大的关系。

5.对测试错误结果一定要有一个确认的过程, 一般有A测试出来的错误, 一定要有一个B来确认, 严重的错误可以召开评审会进行讨论和分析。

6.制定严格的测试计划, 并把测试时间安排的尽量宽松, 不要希望在极短的时间内完成一个高水平的测试。

7.回归测试的关联性一定要引起充分的注意, 修改一个错误而引起更多的错误出现的现象并不少见。

8.妥善保存一切测试过程文档, 意义是不言而喻的, 测试的重现性往往要靠测试文档 4软件测试的内容

4.1验证(verification)验证(verification)是保证软件正确地实现了一些特定功能的一系列活动, 即保证软件做了你所期望的事情。(Do the right thing)1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;

2.程序正确性的形式证明, 即采用形式理论证明程序符号设计规约规定的过程;

3.评市、审查、测试、检查、审计等各类活动, 或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。4.2确认(validation)确认(validation)是一系列的活动和过程, 目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right)1.静态确认, 不在计算机上实际执行程序, 通过人工或程序分析来证明软件的正确性;

2.动态确认, 通过执行程序做分析, 测试程序的动态行为, 以证实软件是否存在问题。

软件测试的对象不仅仅是程序测试, 软件测试应该包括整个软 9 件开发期问各个阶段所产生的文档, 如需求规格说明、概要设计文档、详细设计文档, 当然软件测试的主要对象还是源程序。

5软件测试的分类

5.1常用分类

从是否需要执行被测软件的角度, 可分为: —静态测试 和动态测试

从测试是否针对系统的内部结构和具体实现算法的角度来看, 可分为 :

-白盒测试 和黑盒测试 5.2黑盒测试

黑盒测试

指的是把被测软件看作是一个黑盒子, 我们不去关心盒子里面的结构是什么样子, 只关心软件的输入数据和输出结果。

黑盒测试方法是在程序接口上进行测试, 主要是为了发现以下错误: • 是否有不正确或遗漏了的功能? • 在接口上, 输入能否正确地接受? 能否输出正确的结果? • 是否有数据结构错误或外部信息(例如数据文件)访问错误? •性能上是否能够满足要求? • 是否有初始化或终止性错误?

用黑盒测试发现程序中的错误, 必须在所有可能的输入条件和输出条件中确定测试数据, 来检查程序是否都能产生正确的输出。但这是不可能的。

n假设一个程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。若X、Y取整数, 按黑盒方法进行穷举测试:

n可能采用的 测试数据组: 232×232 =264 n如果测试一组数据需要1毫秒, 一年工作365× 24小时, 完成所有测试需5亿年。

黑盒测试的测试用例设计 •等价划分法 •边界值法 •错误推测法 •因果图法

5.3白盒测试

白盒测试指的是把盒子盖打开, 去研究里面的源代码和程序结构。

白盒测试也称结构测试或逻辑驱动测试, 它是知道产品内部工作过程, 可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行, 按照程序内部的结构测试程序, 检验程序中的每条通 路是否都有能按预定要求正确工作, 而不顾它的功能。使用被测单元内部如何工作的信息, 允许测试人员对程序内部逻辑结构及有关信息来设计和选择测试用例, 对程序的逻辑路径进行测试。基于一个应用代码的内部逻辑知识, 测试是基于覆盖全部代码、分支、路径、条件。

白盒测试的主要方法: •逻辑驱动测试 •基本路径测试

主要用于软件验证。

使用程序设计的控制结构导出测试用例。

逻辑驱动测试:

主要是测试覆盖率, 以程序内在逻辑结构为基础的测试。包括以下6种类型:

•语句覆盖 •判断覆盖 •条件覆盖 •判定-条件覆盖 •条件组合覆盖 •路径覆盖 白盒测试的主要目的

• 保证一个模块中的所有独立路径至少被执行一次; •对所有的逻辑值均需要测试真、假两个分支; •在上下边界及可操作范围内运行所有循环; •检查内部数据结构以确保其有效性

白盒测试的实施方案

在开发阶段

要保证产品的质量, 产品的生产过程应该遵循一定的行业标准。软件产品也是同样, 没有标准可依自然谈不上质量的好坏。所有关心软件开发质量的组织、单位, 都要定义或了解软件的质量标准、模型。其好处是保证公司实践的均匀性, 产品的可维护性、可靠性以及可移植性等。

在测试阶段

与软件产品的开发过程一样, 测试过程也需要有一定的准则, 来指导、度量、评价软件测试过程的质量。

定义测试准则

为控制测试的有效性以及完成程度, 必须定义准则和策略, 以判断何时结束测试阶段。准则必须是客观的, 可量化的元素, 而不能是经验或感觉。

根据应用的准则和项目相关的约束, 项目领导可以定义使用的度量方法, 和要达到的覆盖率。度量测试的有效性、完整性

对每个测试的测试覆盖信息和累计信息, 用图形方式显示覆盖比率, 并根据测试运行情况实时更新, 随时显示新的测试所反映的测试覆盖情况。

允许所有的测试运行依据其有效性进行管理, 用户可以减 少不适用于非回归测试的测试的过程。

概念:

1.语句覆盖:语句覆盖就是设计若干个测试用例, 运行被测试程序, 使得每一条可执行语句至少执行一次;

2.判定覆盖(也称为分支覆盖):设计若干个测试用例, 运行所测程序, 使程序中每个判断的取真分支和取假分支至少执行一次;

3.条件覆盖:设计足够多的测试用例, 运行所测程序, 使程序中每个判断的每个条件的每个可能取值至少执行一次;

4.判定-条件覆盖:设计足够多的测试用例, 运行所测程序, 使程序中每个判断的每个条件的所有可能取值至少执行一次, 并且每个可能的判断结果也至少执行一次, 换句话说, 即是要求各个判断的所有可能的条件取值组合至少执行一次;

5.条件组合测试:设计足够多的测试用例, 运行所测程序, 使程序中每个判断的所有可能的条件取值组合至少执行一次;

6.路径测试:设计足够多的测试用例, 运行所测程序, 要覆盖程序中所有可能的路径。

5.4静态测试

是指不实际运行被测软件, 而只是静态的检查程序代码、界面或文档中可能存在的错误的过程。

其中包括代码测试、界面测试和文档测试3个方面。对于代码测 14 试, 主要测试代码是否符合相应的标准和规范。对于界面测试, 主要测试软件的实际界面与需求中的说明是否相符。对于文档测试, 主要测试用户手册和需求说明是否符合用户的实际要求。

5.5动态测试

是指实际运行被测程序, 输入相应的测试数据, 检查实际输出结果和预期结果是否相符的过程。所以, 我们判断一个测试属于动态还是静态测试 , 唯一的标准就是看是否运行程序。

6软件测试中的类测试

6.1 面向对象软件从宏观上来看是各个类之间的相互作用。在面向对象系统中,系统的基本构造模块是封装了的数据和方法的类和对象,而不再是一个个能完成特定功能的功能模块。每个对象有自己的生存周期,有自己的状态。消息是对象之间相互请求或协作的途径,是外界使用对象方法及获取对象状态的唯一方式。对象的功能是在消息的触发下,由对象所属类中定义的方法与相关对象的合作共同完成,且在不同状态下对消息的响应可能完全不同。对象中的数据和方法是一个有机的整体,测试过程中不能仅仅检查输入数据产生的输出结果是否与预期的吻合,还要考虑对象的状态。模块测试的概念已不适用于对象的测试“类测试将是整个测试过程的一个重要步骤。

6.2类测试技术

6.2.1基于服务的类测试技术

基于服务的类测试主要考察封装在类中的一个方法对数据进行的操作,它可以采用传统的白盒测试方法。为克服软件测试的盲目性和局限性,保证测试的质量,提高软件的可靠性,下面我们介绍一种类的服务的测试模型及相应的测试策略。

BBD通常有两种获取途径。一是采用逆向工程的方法根据源程序画出流程图,然后构造出BBD。但这毕竟是在缺少软件开发前期的分析、设计文档或文档不齐全的情况下退而求其次的办法。当源程序不正确时构造出来的BBD就是错误的。另一种途径就是追根溯源,在软件的分析、设计阶段就根据测试的需要构造出相应的BBD。这样就能从根本上解决问题,正确地指导类的服务的测试。

6.2.2基于层次增量的类测试

层次增量测试的基本思想是:首先分别测试父类的各个成员函数,再测试成员函数间的相互作用,把测试用例和执行信息保存在/测试历史中,在测试子类时,根据父类的测试历史修改部分的定义以及实现语言的继承映射来决定子类中的哪些特征应当重测试以及父类的哪些测试用例可以复用。

这种根据类间继承关系的层次特性对类进行增量测试的技术是由M.Harrold等人提出的,其特点是复用父类的测试信息来指导子类的测试。

7参考文献 参考书籍:

1、Ron Patton 《软件测试》机械工业出版社

2、张克东等 《软件工程与软件测试自动化教程》电子工业出版社

3、Dustin,E.《软件自动化测试:引入、管理与实施》电子工业出版社

4、James A.Whittaker 《实用软件测试指南》电子工业出版社

5、Zadrozny 《J2EE性能测试》电子工业出版社

6、Jones,C.《软件评估、基准测试与最佳实践》机械工业出版社

7、Edward Kit 《软件测试过程改进》机械工业出版社

8、Hung Q.Nguyen 《Web应用测试》电子工业出版社

9、Robert V.Binder《面向对象系统测试 模型 视图与工具(影印版)》

10、Rakitin,S.K.《软件验证与确认的最佳管理办法》电子工业出版社

11、麦格雷戈 《面向对象的软件测试》机械工业出版社

8致谢 非常感谢陈林华老师在我大学的最后学习阶段——毕业设计阶段给自己的指导,从最初的定题,到资料收集,到写作、修改,到论文定稿,她们给了我耐心的指导和无私的帮助。为了指导我们的毕业论文,她们放弃了自己的休息时间,她们的这种无私奉献的敬业精神令人钦佩,在此我向她们表示我诚挚的谢意。同时,感谢所有任课老师和所有同学在这四年来给自己的指导和帮助,是他们教会了我专业知识,教会了我如何学习,教会了我如何做人。正是由于他们,我才能在各方面取得显著的进步,在此向他们表示我由衷的谢意,并祝所有的老师培养出越来越多的优秀人才,桃李满天下!

通过这一阶段的努力,我的毕业论文《 软件测试的概述及方法 》终于完成了,这意味着大学生活即将结束。在大学阶段,我在学习上和思想上都受益非浅,这除了自身的努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开的。

写作毕业论文是一次再系统学习的过程,毕业论文的完成,同样也意味着新的学习生活的开始。

感谢各位专家的批评指导。

读书的好处

1、行万里路,读万卷书。

2、书山有路勤为径,学海无涯苦作舟。

3、读书破万卷,下笔如有神。

4、我所学到的任何有价值的知识都是由自学中得来的。——达尔文

5、少壮不努力,老大徒悲伤。

6、黑发不知勤学早,白首方悔读书迟。——颜真卿

7、宝剑锋从磨砺出,梅花香自苦寒来。

8、读书要三到:心到、眼到、口到

9、玉不琢、不成器,人不学、不知义。

10、一日无书,百事荒废。——陈寿

11、书是人类进步的阶梯。

12、一日不读口生,一日不写手生。

13、我扑在书上,就像饥饿的人扑在面包上。——高尔基

14、书到用时方恨少、事非经过不知难。——陆游

15、读一本好书,就如同和一个高尚的人在交谈——歌德

16、读一切好书,就是和许多高尚的人谈话。——笛卡儿

17、学习永远不晚。——高尔基

18、少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。——刘向

19、学而不思则惘,思而不学则殆。——孔子

20、读书给人以快乐、给人以光彩、给人以才干。——培根

第二篇:软件测试课题解读

XX学院

××届××学院毕业设计

软件测试课题

2012-03-13

目 录

第一章 毕业设计目的..............................................................................................................3 第二章 毕业设计安排..............................................................................................................3 第三章 指导老师简介..............................................................................................................3 第四章 毕业设计选题..............................................................................................................4

4.1“如何写一个好的测试计划?” 或 “XXX项目测试计划”.....................................4 4.2“如何做好功能测试?” 或 “XXX项目功能测试实践”.....................................4 4.3“如何做好自动化测试?” 或 “XXX项目自动化测试实践”.............................5 4.4“如何做好性能测试?” 或 “XXX项目性能测试实践”.....................................5 4.5如何测试一个电梯/纸杯?..........................................................................................5 4.6怎样才能做好本地化测试?.......................................................................................5 4.7 学生自己想做的测试相关的其他选题(需要与指导老师确认)..........................6 第五章 总结..............................................................................................................................6

ii

第一章 毕业设计目的

 培养学生运用所学基础理论、基本知识和基本技能进行分析与解决实际问题的能力;  培养学生严谨认真的态度、理论联系实际的动手能力;

 通过完成具有一定实际或理论意义的软件测试项目,使学生受到基本的软件测试训练,巩固与扩展所学的基础理论和专业知识,为就业铺路搭桥;

 培养学生分析设计、实际测试和计算机应用的能力,以及进行解决问题和文字表达等基本技能;

 培养学生的创新意识和创新能力;

 为学生面试与就业提供指导,帮助学生尽快就业,找到如意工作。

第二章 毕业设计安排

 开始时间:2012年3月底  结束时间:2012年5月上旬  毕业论文完成时间:2012年5月上旬

说明:根据实际情况可能会有所调整。

第三章 指导老师简介

XX老师,北航软件工程硕士,PMP(项目管理专业认证),信息系统项目管理师(高级职称资格认证)。11年IT工作经验,精通软件测试理论、测试工具、测试流程、测试架构设计及测试管理。软件测试理论娴熟,实战经验丰富,对数据库和UNIX/Linux有 3

致谢

很深的功底,带过多次毕业设计。其中参与过黑龙江移动公司《新版BOSS系统》的开发和测试工作,明天集团的《工商项目档案管理系统》的开发和测试工作,网络版的《电力系统安全性评价专家系统》的开发和测试工作,中国石油集团下属《中国石油石化企业网络信息库》、《世界石油大会中国国家委员会网站》、《中油香港网站》、《中国石油商务网》《中国石油集团外部网站》的开发设计和验收工作,现在某外企公司任软件测试项目经理,负责软件测试项目的管理和执行,团队总人数达20余人。

联系方式:

第四章 毕业设计选题

4.1“如何写一个好的测试计划?” 或 “XXX项目测试计划”

 测试的发展及相关理论  项目相关理论  测试管理

 测试计划的重要性  测试计划的基本要素  测试计划实例

4.2“如何做好功能测试?” 或 “XXX项目功能测试实践”

 测试的发展及相关理论  功能测试理论  项目相关理论  测试需求  测试流程  测试用例  测试工具

4.3“如何做好自动化测试?” 或 “XXX项目自动化测试实践”

 测试的发展及相关理论  自动化测试理论  项目相关理论  测试需求  测试流程  测试用例  测试工具

4.4“如何做好性能测试?” 或 测试的发展及相关理论  性能测试理论  项目相关理论  测试需求  测试流程  测试用例  测试工具

4.5如何测试一个电梯/纸杯?

 测试的发展及相关理论  项目相关理论  测试用例

4.6怎样才能做好本地化测试?

 测试的发展及相关理论  深入理解本地化测试  如何做好本地化测试

XXX项目性能测试实践”

“ 致谢

4.7 学生自己想做的测试相关的其他选题(需要与指导老师确认)

第五章 总结

毕业设计(论文)是学生毕业前的最后一个重要学习环节,是学习深化与升华的重要过程。它既是学生学习、研究与实践成果的全面总结,又是对学生素质与能力的一次全面检验,还是对学生的毕业资格认证的重要依据。为了保证我院毕业设计质量,让同学们能够圆满完成这次毕业论文设计,我愿意和同学们一起努力,共同奋斗!

读书的好处

1、行万里路,读万卷书。

2、书山有路勤为径,学海无涯苦作舟。

3、读书破万卷,下笔如有神。

4、我所学到的任何有价值的知识都是由自学中得来的。——达尔文

5、少壮不努力,老大徒悲伤。

6、黑发不知勤学早,白首方悔读书迟。——颜真卿

7、宝剑锋从磨砺出,梅花香自苦寒来。

8、读书要三到:心到、眼到、口到

9、玉不琢、不成器,人不学、不知义。

10、一日无书,百事荒废。——陈寿

11、书是人类进步的阶梯。

12、一日不读口生,一日不写手生。

13、我扑在书上,就像饥饿的人扑在面包上。——高尔基

14、书到用时方恨少、事非经过不知难。——陆游

15、读一本好书,就如同和一个高尚的人在交谈——歌德

16、读一切好书,就是和许多高尚的人谈话。——笛卡儿

17、学习永远不晚。——高尔基

18、少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。——刘向

19、学而不思则惘,思而不学则殆。——孔子

20、读书给人以快乐、给人以光彩、给人以才干。——培根

第三篇:软件测试笔试题3解读

一、测试基础题

1、Linux的超级用户是root

2、Linux系统中,查看文件的命令是什么?写出至少三个:cat、less、more

3、Linux系统中,对文件httpd.conf赋予755权限指的是什么意思?如何操作? 赋予http.conf 文件 拥有者 读、写、执行;拥有组 读、执行; 其他人 读;执行 chmod 755 http.conf

4、Linux系统中,vi编辑,以下操作的命令是?插入、删除单个字符、删除一整行、到文件开头和结尾、另存为等 插入 i 删除单个字符 x 删除一整行

dd 到文件开头 gg 结尾 G 另存为 :qw

5、数据库题(1)员工信息表

create table employ(employID number primary key--员工ID ,ename varchar2(50)--名称 ,sex varchar2(50)--性别 ,age number--年龄 ,deptid number--部门ID ,stationid number--岗位ID);(2)员工薪水

create table salary(salaryid number--薪水ID ,employid number--员工ID ,basesalary number--基本薪水 ,bonussalary number--奖金);

1)统计各部门的平均薪水

select max(em.deptid), round(avg(sa.basesalary+sa.bonussalary),1)from employ em ,salary sa where em.employid=sa.employid group by em.deptid

2)查询所有部门的最高薪水,最低水,平均薪水,显示部门,最高薪水,最低薪水,平均薪水,并按部门名升序排序;select max(em.deptid)“部门名”, min(sa.basesalary+sa.bonussalary)“最低薪水”, round(avg(sa.basesalary+sa.bonussalary),1)“平均薪水” from employ em ,salary sa where em.employid=sa.employid group by em.deptid order by em.deptid

3)查询所有姓王的所有员工信息;select em.employID “员工ID”, em.ename “名称”, em.sex “性别”, em.age “年龄”, em.deptid “部门ID”, em.stationid “岗位ID”, sa.salaryid “薪水ID”, sa.basesalary “基本薪水”, sa.bonussalary “奖金” from employ em ,salary sa where em.employid=sa.employid and ename like '王%'

二、测试理论知识

1、软件测试的目的是什么?软件测试有哪几大特性?

目的:没发现软件缺陷与错误,对软件质量进行度量和评估,以提高软件的 质量,节约成本,满足客户需求。

特性:应追溯到用户需求;尽早地和不断地进行软件测试;完全测试是不可能的,测试需要终止;测试无法显示软件潜在的缺陷;充分注意测试中的群集现象;开发人员不能即是运动员又是裁判员;避免测试的随意性

2、软件测试有哪几种类型?它们的关注点分别是什么? 按阶段划分

对不同的阶段用不同的方法进行测试

a单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证

b集成测试在单元测试的基础上,将所有模块按照设计要求(如根据结构图〕组装成为子系统或系统,进行集成测试

c确认测试经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。

c系统测试目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试的对象不仅仅包括需测试的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。d验收测试主要确认软件是否按合同要求进行工作,既是否满足软件需求规格说明书中的要求。

按是否运行程序划分

静态测试不运行被测试的软件,而只是静态的检查代码、界面或者文档。动态测试实际运行被测试的软件,输入相应的测试数据,检查世界的输出结果是否和预期结果相一致的过程。按是否查看代码划分 黑盒测试

把软件看成一个黑盒子,不管内部逻辑和内部特性,只依据规格说明书检查程序的功能是否符合功能说明又称为功能测试或数据驱动测试 白盒测试

又称为结构测试或逻辑驱动测试。着重于程序内部结构和算法,不关心功能和性能指标。灰盒测试

介于白盒和黑盒测试之间,基于程序运行时刻的外部表现同时又结合程序内部逻辑结构来设计用例,执行程序并采集程序路径执行信息和外部用户接口结果的测试技术。其他划分 回归测试

对软件的新版本测试时,重复执行上一个版本测试时使用的测试用例。防止出现“以前应用没有的问题现在出问题了”。

冒烟测试(BVT测试(Build Verification Test))

冒烟测试的对象是每一个新编译需要正式测试的版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。随机测试(又名猴子测试)

测试数据是随机产生的,在测试用例之外。只能作为一个测试的补充。

3、通常来说,一个case需要包含哪几部分?bug呢?

Case 用例编号 用例名称 功能接口、预置条件 用例优先级 操作步骤 预期结果 Bug bug编号 bug名称

bug优先级

操作环境 操作步骤

预期步骤 实际结果

三、自动化及项目测试知识

1、在自动化测试中,参数化的目的是什么?检查点呢?

2、LR中场景分为哪几种,分别是什么?性能测试指标包含哪些(尽可能多的列举)?

四、综合知识

1、您认为作为一名软件测试工程师,应该具备哪些素质? 计算机相关知识,能够熟练使用常用的管理工具 开发语言:C,C++,Java,JavaScript,VBScript,Shell。数据库:SQL Server,Oracle,MySQL等数据库知识

操作系统,如Windows 2003以及2008,UNIX,Linux,MAC,Solaris等 网络基本知识,能够独立完成测试环境的搭建。

软件基础知识:软件工程,软件生命周期,测试理论和测试方式有较深的理解。

软件测试技术,方法,流程,测试文档编写,能独立设计和执行测试用例, 提交完整的缺陷报告单, 编写测试报告。

测试工具,能够熟练使用至少一种功能/性能自动化测试工具。质量管理知识,如CMM,CMMI以及ISO 9001等。

2、就ATM取款机的取款功能,请写出测试点。

用场景法测试ATM机 基本流 插入银行卡 验证银行卡 输入密码 验证密码

进入ATM主界面 取款并选择金额 ATM机验证

更新账户余额出钞 返回主界面 备选流 银行卡无效 密码错误

密码三次错误吞卡 账户余额不提示退卡

总取款金额超过当日取款限额 ATM机余额不足 场景一 取款成功 预备条件

ATM余额10000 有效银行卡***8843 密码213213 卡内余额8000 操作步骤

插入银行卡,输入正确的密码213213 进入主页后选择取款1000元 预期结果

ATM机输出1000元,提示用户取走现金并返回主页面 ATM机余额9000 用户账户余额7000 场景二 卡无效 预置条件

ATM余额10000 一张无效银行卡 操作步骤

插入无效银行卡 预期结果

提示该卡无效并退卡。

场景三 密码错误且输入三次错误密码,ATM机吞卡 预置条件

ATM余额10000 有效银行卡***8843 密码213213 卡内余额8000 操作步骤

插入银行卡,输入错误密码321321 预期结果

提示密码错误,并清空密码 再次输入错误密码321321 预期结果

提示密码错误,并清空密码 再次输入错误密码321321 预期结果

提示密码错误,并没收该卡。场景四账户余额不足 ATM余额10000 有效银行卡***8843 密码213213 卡内余额8000 操作步骤

插入银行卡,输入正确的密码213213 进入主页后选择取款9000元 预期结果

提示账户余额不足,并退卡 场景五取款金额超过当日限额 预备条件 ATM余额100000(单笔取款最大金额为2000最大取款金额为20000)有效银行卡***8843 密码213213 卡内余额80000 操作步骤

插入银行卡,输入正确的密码213213 进入主页后选择取款2000元 预期结果

ATM机输出2000元,提示用户取走现金并返回主页面 ATM机余额98000 用户账户余额78000 累计取款20000 预期结果

ATM机余额80000 用户账户余额60000 再次取走2000元 预期结果

提示已达当日取款最大限额,并退卡。场景六 ATM余额不足 预备条件 ATM余额800 有效银行卡***8843 密码213213 卡内余额8000 操作步骤

插入银行卡,输入正确的密码213213 进入主页后选择取款1000元 预期结果

提示ATM机余额不足,并退卡。

读书的好处

1、行万里路,读万卷书。

2、书山有路勤为径,学海无涯苦作舟。

3、读书破万卷,下笔如有神。

4、我所学到的任何有价值的知识都是由自学中得来的。——达尔文

5、少壮不努力,老大徒悲伤。

6、黑发不知勤学早,白首方悔读书迟。——颜真卿

7、宝剑锋从磨砺出,梅花香自苦寒来。

8、读书要三到:心到、眼到、口到

9、玉不琢、不成器,人不学、不知义。

10、一日无书,百事荒废。——陈寿

11、书是人类进步的阶梯。

12、一日不读口生,一日不写手生。

13、我扑在书上,就像饥饿的人扑在面包上。——高尔基

14、书到用时方恨少、事非经过不知难。——陆游

15、读一本好书,就如同和一个高尚的人在交谈——歌德

16、读一切好书,就是和许多高尚的人谈话。——笛卡儿

17、学习永远不晚。——高尔基

18、少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。——刘向

19、学而不思则惘,思而不学则殆。——孔子

20、读书给人以快乐、给人以光彩、给人以才干。——培根

第四篇:软件测试(推荐)

一、简答5*6’

1.为什么不让时间有余的人做测试工作

表面上看这体现了管理的效率和灵活性,但实际上也体现了管理者对测试的轻视。测试和测试的人有很大关系。测试工作人员应该是勤奋并富有耐心,善于学习、思考和发现问题,细心有条理,总结问题,如果具备这样的优点,做其它工作同样也会很出色,因此这里还有一个要求,就是要喜欢测试这项工作。2.软件测试风险主要体现在哪里

我们没有对软件进行完全测试,实际就是选择了风险,因为缺陷极有可能存在没有进行测试的部分。因此,我们要尽可能的选择最合适的测试量,把风险降低到最小 3.所有软件测试缺陷都需要修复吗

从技术上讲,所有的软件缺陷都是能够修复的,但是没有必要修复所有的软件缺陷。测试人员要做的是能够正确判断什么时候不能追求软件的完美。对于整个项目团队,要做的是对每一个软件缺陷进行取舍,根据风险决定那些缺陷要修复。发生这种现象的主要原因如下:-没有足够的时间资源。在任何一个项目中,通常情况下开发人员和测试人员都是不够用的,而且在项目中没有预算足够的回归测试时间,修改缺陷可能引入新的缺陷。

-有些缺陷只是特殊情况下出现,这种缺陷处于商业利益考虑,可以在以后升级中进行修复。-不是缺陷的缺陷。我们经常会碰到某些功能方面的问题被当成缺陷来处理,这类问题可以以后有时间时考虑再处理。缺陷是否修改要由软件测试人员、项目经理、程序员共同讨论来决定是否修复,不同角色的人员从不同的角度来思考,以做出正确的决定。4.如何减少测试人员跳槽带来的损失 建议我们从以下两个方面做起:

-加强部门内员工之间的互相学习,互相学习是建立学习型组织的基本要求,是知识互相转移的过程。在此基础上,可以把个人拥有的技术以知识的形式沉积下来,也就完成了隐性知识到显性知识的转化。

-管理者就应该把员工的个人成长和企业的发展联系起来,为员工设定合理发展规划并付诸实现。

5.验收测试的注意点有哪些 测试要注意下面的事项:

(1)用户现场测试不可能测试全部功能,因此要测试核心功能。这需要提前做好准备,这些核心功能一定要预先经过测试,证明没有问题才可以和用户共同进行测试。测试核心模块的目的是建立用户对软件的信心。当然如果这些模块如果问题较多,不应该进行演示。(2)如果某些模块确实有问题,我们可以演示其它重要的业务功能模块,必要时要向用户做成合理的解释。争得时间后,及时修改缺陷来弥补。(3)永远不能欺骗用户,蒙混过关。6.完全测试程序是可能的吗

实际上完全测试是不可能的。主要有以下原因:-完全测试比较耗时,时间上不允许;

-完全测试通常意味着较多资源投入,这在现实中往往是行不通的;-输入量太大,不能一一进行测试;-输出结果太多,只能分类进行验证;-软件实现途径太多;

-软件产品说明书没有客观标准,从不同的角度看,软件缺陷的标准不同;因此测试的程度要根据实际情况确定 7.是不是发现的缺陷越多就说明软件缺陷越多 其中的原因主要如下:

-代码复用、拷贝代码导致程序员容易犯相同的错误。类的继承导致所有的子类会包含基类的错误,反复拷贝同一代码意味可能也复制了缺陷。-程序员比较劳累是可以导致某些连续编写的功能缺陷较多。

“缺陷一个连着一个”不是一个客观规律,只是一个常见的现象。如果软件编写的比较好,这种现象就不常见了。测试人员只要严肃认真的测试程序就可以了。8.软件测试就是QA吗

软件测试人员的职责是尽可能早的找出软件缺陷,确保得以修复。而质量保证人员(QA)主要职责是创建或者制定标准和方法,提高促进软件开发能力和减少软件缺陷。测试人员的主要工作是测试,质量保证人员日常工作重要内容是检查与评审,测试工作也是测试保证人员的工作对象。软件测试和质量是相辅相成的关系,都是为了提高软件质量而工作。9.测试产品和测试项目区别

习惯上把开发完成后进行商业化、几乎不进行代码修改就可以售给用户使用的软件成为软件产品,也就是可以买“卖拷贝”的软件,软件项目是一种个性化的产品,可以是按照用户要求全部重新开发,也可以修改已有的软件产品来满足特定的用户需求。项目和产品的不同特点,决定我们测试产品和测试项目仍然会有很多不同的地方:

-质量要求不同。通常产品的质量要高一些,修复发布后产品的缺陷成本较高,甚至会带来很多负面的影响。而做项目通常面向某一用户,虽然质量越高越好,但是一般只要满足用户要求就可以了。测试资源投入多少不同。做软件产品通常是研发中心来开发,进度压力要小些。同时由于质量要求高,因此会投入较多的人力、物力资源。项目最后要和用户共同验收测试,这是产品测试不具有的特点。此外,测试产品与测试项目在缺陷管理方面、测试策略制定都会有很大不同,测试管理者应该结合具体的环境,恰如其分的完成工作 10.如何编写提交给用户的测试报告

测试报告一般分为内部测试报告和外部测试报告。内部报告是我们在测试工作中的项目文档,反映了测试工作的实施情况,一般外部测试报告要满足下面几个要求:

根据内部测试报告进行编写,一般可以摘录;不可以向客户报告严重缺陷,即使是已经修改的缺陷,开发中的缺陷也没有必要让客户知道;报告上可以列出一些缺陷,但必须是中级的缺陷,而且这些缺陷必须是修复的;报告上面的内容尽量要真实可靠;整个测试报告要仔细审阅,力争不给项目带来负面作用,尤其是性能测试报告。总之,外部测试报告要小心谨慎的编写。

二、论述2*12’

1.请论述为什么要进行软件测试,并列举历史上2~3个著名软件测试(缺陷)案例,说明测试重要性

软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望做的事情(,另一方面是确认软件以正确的方式来做了这个事情。第二是提供信息,比如提供给开发人员或程序经理的回馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件软件产品本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此,软件测试的第三个目的是保证整个软件开发过程是高质量的。

爱国者导弹防御系统把“枪口”对准了自己人 美国迪斯尼公司的狮子王游戏软件的兼容性问题 售票系统性能问题

2.论述软件测试科学的发展历程 1957年之前-调试为主 20世纪50年代,计算机刚诞生不久,只有科学家级别的人才会去编程,需求和程序本身也远远没有现在这么复杂多变,相当于开发人员一人承担需求分析,设计,开发,测试等所有工作,当然也不会有人去区分调试和测试。

1957–1978-证明为主 当时计算机应用的数量,成本和复杂性都大幅度提升,随之而来的经济风险也大大增加,测试就显得很有必要了,这个时期测试的主要目就是确认软件是满足需求的,也就是我们常说的“做了该做的事情”。

1979–1982-破坏为主 我们不仅要证明软件做了该做的事情,也要保证它没做不该做的事情,这会使测试更加全面,更容易发现问题。

1983–1987-评估为主 人们提出了在软件生命周期中使用分析,评审,测试来评估产品的理论。软件测试工程在这个时期得到了快速的发展.1988–至今-预防为主 预防为主是当下软件测试的主流思想之一。测试不是在编码完成后才开始介入,而是贯穿于整个软件生命周期。3.论述软件缺陷的由来

软件缺陷的产生主要是由软件产品的特点和开发过程决定的。

软件本身:①需求不清晰,导致设计目标偏离客户的需求,从而引起功能或产品特征上的缺陷。②系统结构非常复杂,而又无法设计成一个很好的层次结构或组件结构,结果导致意想不到的问题或系统维护、扩充上的困难;即使设计成良好的面向对象的系统,由于对象、类太多,很难完成对各种对象、类相互作用的组合测试,而隐藏着一些参数传递、方法调用、对象状态变化等方面问题。③对程序逻辑路径或数据范围的边界考虑不够周全,漏掉某些边界条件,造成容量或边界错误。④对一些实时应用,要进行精心设计和技术处理,保证精确的时间同步,否则容易引起时间上不协调,不一致性带来的问题。⑤没有考虑系统崩溃后的自我恢复或数据的异地备份、灾难性恢复等问题,从而存在系统安全性、可靠性的隐患。⑥系统运行环境的复杂,不仅用户使用的计算机环境千变万化,包括用户的各种操作方式或各种不同的输入数据,容易引起一些特定用户环境下的问题;在系统实际应用中,数据量很大。从而会引起强度或负载问题。⑦由于通信端口多、存取和加密手段的矛盾性等,会造成系统的安全性或适用性等问题。⑧新技术的采用,可能涉及技术或系统兼容的问题,事先没有考虑到。

团队工作:系统需求分析时对客户的需求理解不清楚,或者和用户的沟通存在一些困难。不同阶段的开发人员相互理解不一致。对于设计或编程上的一些假定或依赖性,相关人员没有充分沟通。项目组成员技术水平参差不齐技术问题。算法错误:在给定条件下没能给出正确或准确的结果。语法错误:对于编译性语言程序,编译器可以发现这类问题;但对于解释性语言程序,只能在测试运行时发现。计算和精度问题:计算的结果没有满足所需要的精度。系统结构不合理、算法选择不科学,造成系统性能低下。接口参数传递不匹配,导致模块集成出现问题。

项目管理的问题:缺乏质量文化,不重视质量计划,对质量、资源、任务、成本等的平衡性把握不好,容易挤掉需求分析、评审、测试、等时间,遗留的缺陷会比较多。系统分析时对客户的需求不是十分清楚,或者和用户的沟通存在一些困难。开发周期短,需求分析、设计、编程、测试等各项工作不能完全按照定义好的流程来进行,工作不够充分,结果也就不完整、不准确,错误较多;周期短,还给各类开发人员造成太大的压力,引起一些人为的错误。开发流程不够完善,存在太多的随机性和缺乏严谨的内审或评审机制,容易产生问题。文档不完善,风险估计不足等。4.软件测试V模型

①绘制示意图

②阐述每个步骤是做什么 需求分析

即首先要明确客户需要的是什么,需要软件作成什么样子,需要有那几项功能

概要设计

主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据传递的实现等项事务。详细设计

对概要设计中表述的各模块进行深入分析,对各模块组合进行分析等。软件编码

按照详细设计好的模块功能表,编程人员编写出实际的代码。单元测试

按照设定好的最小测试单元进行按单元测试,主要是测试程序代码,为的是确保各单元模块被正确的编译,单元的具体划分按不同的单位与不同的软件有不同。集成测试

经过了单元测试后,将各单元组合成完整的体系,主要测试各模块间组合后的功能实现情况,以及模块接口连接的成功与否,数据传递的正确性等,其主要目的是检查软件单位之间的接口是否正确。根据集成测试计划,一边将模块或其他软件单位组合成系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。系统测试

经过了单元测试和集成测试以后,我们要把软件系统搭建起来,按照软件规格说明书中所要求,测试软件其性能功能等是否和用户需求相符合,在系统中运行是否存在漏洞,等。验收测试

主要就是用户在拿到软件的时候,在使用现场,会根据前边所提到的需求,以及规格说明书来做相应测试,以确定软件达到符合效果的。

第五篇:软件测试复习资料

1. 黑盒测试法是通过分析程序的功能来设计测试用例的方法。

2. 黑盒测试除了测试程序外,它还适用于对需求分析阶段的软件文档进行测试。3. 白盒测试除了测试程序外,它也适用于对软件具体设计阶段的软件文档进行测试。4. 单元测试一般以白盒测试法为主,测试的依据是模块功能规格说明。5. 软件测试中常用的静态分析方法是引用分析和接口分析。

6. 测试人员的基本素质为计算机专业技能、测试专业技能、行业知识

7. 软件危机的体现为:A、开发成本和进度估计不正确B、用户对完成的软件不满足C、软件经常不可维护;

8. 软件测试按照开发阶段划分:A、单元测试

B、集成测试;系统测试C、确认测试;验收测试

9. 软件测试按照测试技术划分:A、性能测试、负载测试、压力测试B、恢复测试、安全测试、兼容测试

10. 软件测试项目周期是指:A、需求阶段、测试计划B、阶段测试、设计阶段测试、执行阶段 11. 软件测试原则有:A、制定严格的测试计划 B、保留所有的测试文档C、功能测试中的缺陷确认 12. 制定测试计划的步骤:确定测试范围、确定测试策略、确定测试标准、确定测试构架、确定项目管理机制、预计测试工作量、测试计划评审 13. 对于软件的β测试,β测试就是在软件公司外部展开的测试,由非专业的测试人员执行的测试。14. 正式的技术评审FTR(Formal Technical Review)是软件质量保证活动,其相关的描述为: A.FTR是评审产品而不是评审生产者的能力B.FTR要有严格的评审计划并遵守日程安排C.FTR限制参与者人数并要求评审会之前做好预备 15. 在进行单元测试时,常用的方法是采用白盒测试,辅之以黑盒测试

16. 侧重于观察资源耗尽情况下的软件表现的系统测试被称为压力测试 17. 必须要求用户参与的测试阶段是验收测试 18. 系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。

19. 测试通常可分为白盒测试和黑盒测试。白盒测试是根据程序的内部逻辑来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。20. 一个程序中所含有的路径数与程序的复杂程度有着直接的关系。

1. 测试阶段的根本目标是尽可能多地发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户使用。2. 功能测试时系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。3. 软件测试主要分为单元测试、集成测试、确认测试和系统测试四类测试。4. 渐增方式把模块结合到程序中去时,有自顶向下和自底向上两种集成策略。5. 编写测试用例的依据是单元测试计划和详细设计说明书。6. 系统测试时在集成测试完成后,确认测试之前进行的测试。

7. 设计系统测试计划需要参考的项目文档有软件测试计划、软件需求工件、和迭代计划。

8. 测试设计员的职责有设计测试用例、设计测试过程、脚本。

9. 软件验收测试包括正式验收测试、alpha测试、beta测试三种类型。10. 软件测试按照开发阶段划分单元测试、集成测试、系统测试、确认测试、验收测试。11. 软件测试按照测试技术划分性能测试、负载测试、压力测试、恢复测试、安全测试、兼容测试

12. 静态测试基本特征是在对软件进行分析、检查和审阅,不实际运行被测试的软件 13. 软件测试项目周期是指需求阶段、测试计划、阶段测试、设计阶段测试、执行阶段 14. 软件测试的角色分析人员、设计人员、开发人员、执行人员 15. 软件测试原则有制定严格的测试计划、、保留所有的测试文档、功能测试中的缺陷确认

16. 测试工作的文档主要有:测试计划、测试模型和用例设计或规格说明、测试分析报告等

17. 测试计划的制定必须要注重测试策略、测试范围、测试方法、测试安排、测试风险、测试治理

18. 缺陷的分类为:需求文档的缺陷、软件配置引起的缺陷、分析、设计的缺陷、静态文档的缺陷、软件开发引起的缺陷、短视将来的缺陷 19. 测试用例工作主要是如何添加测试用例、如何编写测试用例、将测试用例和需求关联

20. 自动化测试工具有:ratinal Robot、winrunner、quicktest 21. 软件性能测试工具有: loadRunner、Ratinaol Visual Qantify、PureLoad 22. BUG的种类有:需求阶段的BUG、分析设计阶段的BUG、实现阶段的BUG、配置阶段的BUG、静态文档的BUG。23. 测试项目主要包括以下几个阶段:计划阶段、初始阶段、执行阶段、总结评估阶段、设计阶段。

1. 缺陷报告

是描述软件缺陷现象和重现步骤地集合。软件缺陷报告Software Bug Report(SBR)或软件问题报告Software Problem Report(SPR)

2. 回归测试

是指重新执行已经做过的测试的某个子集,以保证修改变化没有带来非预期的副作用。

3. 动态测试 通过运行软件来检验软件的动态行为和运行结果的正确性。动态测试的两个基本要素: 被测试程序、测试数据(测试用例)

4. 白盒测试又称为结构测试和逻辑驱动测试,允许测试人员对程序内部逻辑结构及有关信息来设计和选择测试用例,对程序的逻辑路径进行测试。白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,由于白盒测试是一种结构测试,所以被测对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准确定测试数据。

5. 黑盒测试又称为功能测试或数据驱动测试,把系统看成一个黑盒子,不考虑程序的内在逻辑,只根据需求规格说明书的要求来检查程序的功能是否符合它的功能说明。

6. 路径覆盖的含义是,选取足够多的测试数据,使程序的每条可能路径都至少执行一次(如果程序图中有环,则要求每个环至少经过一次)。

7. 软件测试 :在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。8. 单元测试(模块测试):针对每个模块进行的测试,可从程序的内部结构出发设计测试用例,多个模块可以平行地对立地测试。通常在编码阶段进行,必要的时候要制作驱动模块和桩模块。9. 集成测试:在单元测试的基础上,将所有模块按照设计要求组装成为系统,应提交集成测试计划、集成测试规格说明和集成测试分析报告。

10. 确认测试:验证软件的功能和性能及其它特性是否与用户的要求一致。

11. 系统测试:将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试。

1. 测试过程中会产生哪些基本文档?

(1)测试计划(通常包括单元测试和集成测试):确定测试范围、方法和需要的资源

(2)测试过程:详细描述和每个测试方案有关的测试步骤和数据(包括测试数据及预期的结果);

(3)测试结果:把每次测试运行的结果归入文档,如果运行出错,则应产生 问题报告,并且必须通过调试解决所发现的问题。

(4)

2.大型软件系统的测试过程基本上由几个步骤组成? 1).模块测试

在设计得好的软件系统中,每个模块完成一个清晰定义的子功能,而且这个子功能和同级其他模块的功能之间没有相互依赖关系。因此,有可能把每个模块作为一个单独的实体来测试,而且通常比较容易设计检验模块正确性的测试方案。模块测试的目的是保证每个模块作为一个单元能正确运行,所以模块测试通常又称为单元测试。在这个测试步骤中所发现的往往是编码和详细设计的错误。2).子系统测试

子系统测试是把经过单元测试的模块放在一起形成一个子系统来测试。模块相互间的协调和通信是这个测试过程中的主要问题,因此,这个步骤着重测试模块的接口。3).系统测试

系统测试是把经过测试的子系统装配成一个完整的系统来测试。在这个过程中不仅应该发现设计和编码的错误,还应该验证系统确实能提供需求说明书中指定的功能,而且系统的动态特性也符合预定要求。在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。不论是子系统测试还是系统测试,都兼有检测和组装两重含义,通常称为集成测试。4).验收测试

验收测试把软件系统作为单一的实体进行测试,测试内容与系统测试基本类似,但是它是在用户积极参与下进行的,而且可能主要使用实际数据(系统将来要处理的信息)进行测试。验收测试的目的是验证系统确实能够满足用户的需要,在这个测试步骤中发现的往往是系统需求说明书中的错误。验收测试也称为确认测试。5).平行运行

关系重大的软件产品在验收之后往往并不立即投入生产性运行,而是要再经过一段平行运行时间的考验。所谓平行运行就是同时运行新开发出来的系统和将被它取代的旧系统,以便比较新旧两个系统的处理结果。这样做的具体目的有如下几点:(1)可以在准生产环境中运行新系统而又不冒风险;(2)用户能有一段熟悉新系统的时间;

(3)可以验证用户指南和使用手册之类的文档;

(4)能够以准生产模式对新系统进行全负荷测试,可以用测试结果验证性能指标。3.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。

计划阶段、设计阶段、白盒单元、白盒集成、黑盒单元、黑盒集成、系统测试、回归测试、验收测试一套完整的测试应该由五个阶段组成:

1)测试计划首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准。以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。2)测试设计将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响测试结果的有效性)。

3)测试开发建立可重复使用的自动测试过程。

4)测试执行执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理,测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。

5)测试评估结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。4.软件测试的流程

制订测试计划、设计测试用例、实施测试、提交缺陷报告、编写测试总结。5.测试计划的内容都包括什么?其中哪些是最重要的?

1)测试计划的内容:测试目的和测试项目简介、测试参考文档和测试提交文档、术语和定义、测试策略、确定测试内容、资源、测试进度、测试员的职责与任务分配、项目通过或失败的标准、暂停和重新启动测试的标准、风险和问题等。2)最重要的:测试策略、确定测试内容、资源、测试进度、测试员的职责与任务分配、项目通过或失败的标准 6.测试计划的目的是什么?

测试计划的目的:编写软件测试计划的目的是指导测试组成员进行工作和让测试组以外的项目成员了解测试工作的。7.简述静态测试和动态测试的区别?

a)静态测试: 基本特征是在对软件进行分析、检查和审阅,不实际运行被测试的软件。静态测试约可找出30~70%的逻辑设计错误。对需求规格说明书、软件设计说明书、源程序做检查和审阅。包括:是否符合标准和规范;通过结构分析、流图分析、符号执行指出软件缺陷。b)动态测试:通过运行软件来检验软件的动态行为和运行结果的正确性。动态测试的两个基本要素:被测试程序和测试数据(测试用例)。动态测试方法:(1)选取定义域有效值,或定义域外无效值;(2)对已选取值决定预期的结果;(3)用选取值执行程序;(4)执行结果与预期的结果相比,不吻和程序有错。8.白盒测试有哪几种方法?

语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、多重条件覆盖。9.压力测试和性能测试的区别?

1)广义上说压力测试是包括在性能测试之中的,是性能测试项内的一种。

2)性能测试:顾名思义就是测试软件的运行性能。验证SRS中的性能需求,是否实现。

3)压力测试:测试软件在超负荷下的工作情况,也是一种软件的性能。因此是属于性能测试范围的。

10.测试结束的标准是什么?

测试计划中所有规定的测试内容和回归测试都已经运行完成或根据上级主管对测试结果的意见,就可以结束本次测试。11.黑盒测试的测试用例设计方法包括哪些?:

a)等价类划分:划分等价类--确立测试用例--设计用例。b)边界值分析:通过分析,考虑如何确立边界情况 c)错误推测法:靠经验和直觉来推测程序中可能存在的各种错误,从而有针对性地编写用例。可以列举出可能的错误和可能发生错误的地方,然后选择用例。d)因果图:通过画因果图,在图上标明约束和限制,转换成判定表,然后设计测试用例。这适合于检查程序输入条件的各种组合情况。

12.缺陷报告的作用

缺陷报告是软件测试人员的工作成果之一,体现软件测试的价值缺陷报告可以把软件存在的缺陷准确的描述出来,便于开发人员修正缺陷报告可以反映项目、产品当前的质量状态,便于项目整体进度和质量控制。软件测试缺陷报告是软件测试的输出成果之一,可以衡量测试人员的工作能力。13.等价分类法的基本思想是什么?

根据程序的输入特性,将程序的定义域划分为有限个等价区段“等价类”,从等价类中选择出的用例具有“代表性”,即测试某个等价类的代表值就等于对这一类其他值的测试。如果某个等价类的一个输入数据(代表值)测试中查出了错误,说明该类中其他测试用例也会有错误。14.简单阐述一下软件测试的目标

(1)测试是为了发现程序中的错误而执行程序的过程;

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3)成功的测试是发现了至今为止尚未发现的错误的测试。15.软件测试准则有哪些?

(1)所有测试都应该能追溯到用户需求。

(2)应当把“尽早地和不断地进行软件测试” 作为软件开发者的座右铭。(3)pareto原则:测试发现的错误中的80%很可能是由程序中20%的模块造成的。

(4)应该从“小规模”测试开始,并逐步进行“大规模”测试。

(5)测试用例应由输入数据和预期的输出结果两部分组成,并兼顾合理的输入和不合理的输入数据

(6)穷举测试是不可能的。

(7)为了达到最佳的测试效果,应该由独立的第三方从事测试工作。

(8)程序修改后要回归测试。

(9)应长期保留测试用例,直至系统废弃。16.您认为做好测试用例设计工作的关键是什么?

1)白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果

2)黑盒测试用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题

1. 根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。

“一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。”

2. 某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。请用等价类划分法和边界值划分法设计测试用例来测试程序的日期检查功能。

3. 设要对一个自动饮料售货机软件进行黑盒测试。该软件的规格说明如下:

“有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。”

利用等价类划分的方法,设计测试该软件的全部测试用例。

下载软件测试毕业论文解读word格式文档
下载软件测试毕业论文解读.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    软件测试小结

    第二阶段学习小结 1.白盒测试需要了解其内部结构和运行机制。白盒测试,也称之为结构测试和逻辑驱动测试。黑盒测试不需了解程序内部结构和内部特征。主要着眼于程序外部的用......

    软件测试简答题

    一、 软件测试有哪些基本原则?答:1,所有的测试都应追溯到用户需求。2,应当把 尽早和不断的测试作为座右铭。3,测试工作应该由独立的专业的软件测试机构来完成。4,Pareto原则。5,设......

    软件测试学习

    软件测试学习 1. 什么是软件测试? 答:软件测试是为了发现错误而审查软件文档、检查软件数据和执行程序代码的过程,其目的在于在软件交付使用前充分发现缺陷并协助相关部门定位、......

    软件测试简历

    姓名:匡波 个人信息: 性别:男婚姻:未婚工作地点: 成都 教育背景:四川职业技术学院2007级-计算机应用技术(大专) 联系方式: E-mail:kb8_6kb@163.com电话:*** 自我评价: 熟练Wind......

    软件测试简历

    【求职意向】测试工程师 简历 姓名:***性别:男年龄:23 学历:大 专专业:软件测试籍贯:********** 电话:*********E-mail:************ 通讯地址:&&&&&&&&&&&&&&&&&&&&&&&&&&&& ......

    软件测试心得

    从事测试到现在已有半年多的时间,刚开始做为新人时,面对未接触过的系统中的每个模块,心中是有些慌张的。仅凭业务学习和前辈们讲的测试方法还是很难做到完全让自己放心,这可能是......

    软件测试发展前景

    软件测试发展前景 软件商品的质量操控与质量管理正逐渐变成软件公司生计与开展的中心。软件商品在发布前所需要的质量操控,测试和文档等工作,有必要依靠具有熟练技能的专业软......

    软件测试 填空题

    1、软件质量工程包括软件质量保证、软件质量规划和软件质量控制三大方面。 2、McCall模型产品修改纬度的质量因素有 可维护性、可测试性、灵活性。 3、面向对象模型不同于其......