软件测试自己搞得资料不一定有用

上传人:012****78 文档编号:142453868 上传时间:2020-08-19 格式:DOC 页数:16 大小:787.50KB
返回 下载 相关 举报
软件测试自己搞得资料不一定有用_第1页
第1页 / 共16页
软件测试自己搞得资料不一定有用_第2页
第2页 / 共16页
软件测试自己搞得资料不一定有用_第3页
第3页 / 共16页
软件测试自己搞得资料不一定有用_第4页
第4页 / 共16页
软件测试自己搞得资料不一定有用_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《软件测试自己搞得资料不一定有用》由会员分享,可在线阅读,更多相关《软件测试自己搞得资料不一定有用(16页珍藏版)》请在金锄头文库上搜索。

1、软件测试(自己搞得资料不一定有用) 作者: 日期: 1. 名词解释: 软件缺陷:软件缺陷即计算机系统或程序中存在的任何一种破坏正常运行 能力的问题、错误或者隐藏的功能缺陷、瑕疵。 包括:(1)软件未实现产品说明书要求的功能。 (2)软件出现了产品说明书指明不会出现的错误。 (3)软件超出实现了产品说明书提到的功能。 (4)软件实现了产品说明书虽未明确指出但应该实现的目标。 (5)软件难以理解,不易使用,运行缓慢或者终端用户认为不好。 软件测试:软件测试是为了发现程序中的错误而实施的一些方法和手段。 静态测试: 静态测试就是通过对被测程序的静态审查,发现代码中潜在的错误。它一般用人工方式脱机完成

2、,故亦称人工测试或代码评审 动态测试: 动态测试的对象必须是能够由计算机真正运行的被测试的程序。它分为黑盒测试和白盒测试. 黑盒测试: 黑盒测试是一种从用户观点出发的测试,又称为功能测试,数据驱动测试和基于规格说明的测试。忽略程序内部的结构的特性,测试者在只知道该程序输入和输出之间的关系或程序功能的情况下,依靠能够反映这一关系和程序功能需求规格的说明书,来确定测试用例和推断测试结果的正确性。 白盒测试: 白盒测试基于产品的内部结构来进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分利用。白盒测试又称为结构测试,逻辑驱动测试或基于程序的测试。 单元测试: 单元测试是针对每个单元的

3、测试,是软件测试的最小单位。它确保每个模块能正工作。单元测试多数使用白盒测试,用以发现内部错误。 集成测试:集成测试是对已测试过的模块进行组装,进行集成测试的目的主要在于检验与软件设计相关的程序结构问题。集成测试一般通过黑盒测试方法来完成。测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用版本,并要求用户报告异常情况,提出批评意见。配置管理的目的是建立和维护在软件生命周期中软件产品的完整性和一致性。一般来说,软件测试配置管理包括4个最基本的活动:(1)配置标识;(2)变更控制;(3)配置状态报告;(4)配置审计。测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。1.简述软件测

4、试发展的历史及软件测试的现状。 参考答案: 软件测试是伴随着软件的产生而产生的。在软件行业发展初期,没有系统意义上的软件测试,更多的是一种类似调试的测试,测试用例的设计和选取也都是根据测试人员的经验随机进行的,大多数测试的目的是为了证明系统可以正常运行。 到了20世纪70年代以后,很多测试理论和测试方法应运而生,逐渐形成了一套完整的体系。在产业界,从20世纪70年代后期到20世纪80年代中期,很多软件企业成立了QA或者SQA部门。后来QA的职能转变为流程监控(包括监控测试流程),而测试(Testing)则从QA中分离出来成为独立的组织职能。 到了20世纪80年代初期,一些软件测试的基础理论和实

5、用技术开始形成,软件测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容。软件测试已有了行业标准(IEEE/ANSI )。 在我国,软件测试目前还没有形成一个真正的产业,尚处于起步阶段。 但是,在国内,现在在软件测试行业中各种软件测试的方法、技术和标准都还在探索阶段。总之,国内软件测试行业与一些发达国家相比还存在一定的差距。2. 简述软件缺陷在不同阶段发现错误修复的费用。软件缺陷造成的修复费用随着时间的推移呈指数级地增长,如下图所示。3简述软件测试的复杂性。软件测试的复杂性体现在: 不可能对程序实现完全测试。杀虫剂现象,即为了克服被测试软件的免疫力,软件测试员必须不断编写新的测试

6、程序,对程序的各个部分进行不断测试,以避免被测试软件对单一的测试程序具有 免疫力而使软件缺陷不被发现。 软件测试的代价不容易掌握,因为随着测试量的增加,测试成本将呈几何数级上升, 而软件缺陷数量降低到某一数值之后将没有明显的变化,寻求最优测试点,掌握好测试工作量是至关重要的。 在实际操作过程中,测试人员要进行正确的判断,合理的取舍,根据风险分析来决 定哪些故障需要修复,哪些故障可以不修复,即并不是所有的软件缺陷都需要被修复。 4 对软件测试的经济性进行总结和分析 参考答案: 软件测试是软件生命期中费用消耗最大的环节。测试费用除了测试的直接消耗外,还包括其他的相关费用。影响测试费用的主要因素有:

7、 (1) 软件的功能,软件产品需要达到的标准决定了测试的数量。对于那些至关重要的系统必须进行更多的测试。 (2) 目标用户的数量,一个系统的目标用户数量的多少也在很大程度上影响了测试必要性的程度。 (3) 潜在缺陷造成的影响 在考虑测试的必要性时,还需要将系统中所包含的信息价值考虑在内。因此我们应该从经济方面考虑,投入与经济价值相对应的时间和金钱去进行测试。 (4) 开发机构的业务能力 一个没有标准和缺少经验的开发机构很可能会开发出充满错误的软件系统。而一个建立了标准和有很多经验的开发机构开发出来的软件系统中的错误将会少很多。 ( 5 )测试的时机 测试量会随时间的推移发生改变,在一个竞争很激

8、烈的市场里,争取时间可能是制胜的关键。测试量应该针对合适的目标进行调整。6 简述软件测试工程师应具备的素质。 通常软件人员应具备如下素质: (1) 良好的沟通能力 (2) 掌握比较全面的技术 (3) 充分的自信心 (4) 足够的耐心和责任感 (5) 要具备怀疑精神和学习能力 (6) 超强的记忆力和良好的洞察力。1简述软件测试的目标及标准。参考答案:软件测试的目的就在于在软件投入运行之前,尽可能多地发现软件中的错误。软件测试的目的包括以下三点: (1) 测试是程序的执行过程,目的在于发现错误,不能证明程序的正确性,仅限于处理有限种的情况。 (2) 检查系统是否满足需求,这也是测试的期望目标。 (

9、3) 一个好的测试用例在于发现还未曾发现的错误;成功的测试是发现了错误的测试。软件测试标准如下: 1. 软件测试的目标在于揭示错误。 2. 软件测试必须基于“质量第一”的思想去开展各项工作。 3. 事先定义好产品的质量标准。 4. 软件项目一启动,软件测试也就开始,而不是等程序写完,才开始进行测试。 5. 测试用例是设计出来的,不是写出来的,所以要根据测试的目的,采用相应的方法 去设计测试用例,从而提高测试的效率,更多的发现错误,提高程序的可靠性。 6. 对发现错误较多的程序段,应进行更深入的测试。2 简述软件测试的原则。 参考答案: 软件测试的原则应该是: 应当把“尽早地和不断地进行软件测试

10、”作为软件开发者的座右铭。 测试用例应包括测试输入数据和与之对应的预期输出结果这两部分组成。 程序员应避免检查自己的程序。 设计测试用例时,应当包括合理的输入条件和不合理的输入条件。 充分注意测试中的群集现象。对发现错误较多的程序段,应进行更深入的测试。 严格执行测试计划,排除测试的随意性。 应当对每一个测试结果做全面检查。 妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。3 软件测试的类型有哪些? 参考答案: 按照软件测试的生命周期,可以将测试的执行过程划分为:单元测试、集成测试、确认测试、系统测试、验收测试。 按照软件测试技术可以将测试划分为白盒测试、黑盒测试、灰盒测试

11、。 按照测试实施不同的主体进行分类,测试包括开发方测试、用户测试、第三方测试。 按照软件测试的内容可以将测试划分为功能性测试、可靠性测试、易用性测试、效率测试、可移植性测试和文档测试等。 4 比较黑盒测试,白盒测试,单元测试,集成测试,系统测试,验收测试的区别与联系。 参考答案: 按照软件测试技术可以将测试划分为白盒测试、黑盒测试。白盒测试是按照程序内部的结构测试程序检测产品内部动作是否按照软件设计说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。黑盒测试主要是检测每个功能是否能正常使用。黑盒测试只关注程序的外部特性,不考虑程序内部的逻辑结构,主要针对软件界面和软件功能等方

12、面进行测试。 单元测试,集成测试,系统测试,验收测试是按照软件测试的生命周期来分的。单元测试是在软件开发过程中要进行的最小级别的测试,是程序员缩写的一小段代码,用于检验被测代码的个很小的、很明确的功能是否正确。 集成测试通常是在单元测试的基础上,将所有的程序模块进行有序的、递增的组装为子系统或系统的测试。集成测试用于检验程序单元或部件的接口关系,使之逐步集成为符合概要设计要求的程序部件或整个系统。系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种集成测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。验收测试是系统

13、开发生命周期中的个阶段,它是一项判断产品是否能够满足合同或用户既定需求的测试。5 简述软件测试与软件开发的关系。1测试与软件开发各阶段的关系:软件开发过程是一个自顶向下,逐步细化的过程,而测试过程则是依相反的顺序安排的自底向上,逐步集成的过程。2测试与开发的并行性:在软件的需求得到确认并通过评审后,概要设计工作和测试计划制定设计工作就要并行进行。3测试与开发模型软件测试不仅仅是执行测试,而是一个包含很多复杂活动的过程,并且这些过程应该贯穿于整个软件开发过程6 . 阐述软件测试的充分性准则。 软件测试的充分性准则有以下几点: 对任何软件都存在有限的充分测试集合; 当一个测试的数据集和对于一个被测

14、的软件系统的测试是充分的,那么再多增加一些测试数据仍然是充分的。这一特性称为软件测试的单调性; 即使对软件所有成分都进行了充分的测试,也并不意味着整个软件的测试已经充分了。这一特性称为软件测试的非复合性; 即使对一个软件系统整体的测试是充分的,也并不意味着软件系统中各个成分都已经充分地得到了测试。这个特性称为软件测试的非分解性; 软件测试的充分性与软件的需求、软件的实现都相关; 软件测试的数据量正比于软件的复杂度。这一特性称为软件测试的复杂性; 随着测试次数的增加,检查出软件缺陷的几率随之不断减少。软件测试具有回报递减率。 7 . 简述单元测试的目标。单元测试的主要目标是确保各单元模块被正确地

15、编码。单元测试除了保证测试代码的功能性,还需要保证代码在结构上具有可靠性和健全性,并且能够在所有条件下正确响应。进行全面的单元测试,可以减少应用级别所需的工作量,并且彻底减少系统产生错误的可能性。单元测试的主要内容有:模块接口测试;局部数据结构测试;独立路径测试;错误处理测试;边界条件测试。12.解释驱动模块和桩模块概念。(1)驱动模块(driver):相当于被测模块的主程序。它接收测试数据,把这些数据传送给被测模块,最后输出实测结果。(2)桩模块(stub):用以代替被测模块调用的子模块。桩模块可以做少量的数据操作,不需要把子模块所有功能都带进来,但不允许什么事情也不做。13.简述集成测试的层次划分。集成测试内部对于传统软件和面向对象的应用系统有两种层次的划分。对于传统软件来讲,可以把集成测试划分为三个层次:模块内集成测试;子系统内集成测试;子系统间集成测试。对于面向对象的应用系统来说,可以把集成测

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号