1、1,软件测试技术基础,Part 软件测试概述,华东交通大学软件学院,2,第2章 软件测试原理,本章重点 软件测试应遵循哪些基本的原则? 如何控制软件测试过程? 软件测试的国内外现状和发展趋势是怎样的? 软件测试员应具备哪些基本素质?,华东交通大学软件学院,3,2.1 测试原则,软件测试应追溯到用户需求 应尽早和不断地测试 穷尽测试是不可能的 具有良好的测试态度 避免测试自己的程序 (避免杀虫剂现象) 增量测试 测试分级 测试有重点 避免测试的随意性,华东交通大学软件学院,4,2.1 测试原则,对待缺陷的基本原则 缺陷的群集现象 缺陷有免疫力 缺陷关联和依赖 测试结果的处理原则 对缺陷进行复查和
2、确认 测试结果的全面检查 出错统计和分析 妥善保存测试过程文档,华东交通大学软件学院,5,某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证: 经过自己测试的软件今后不会再出现问题; 在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结; 承诺不需要其他人员,自己就可以独立进行测试工作; 发扬咬定青山不放松的精神,不把所有问题都找出来,决不罢休; 你认为应聘者甲的保证_。 A、是正确的 B是正确的 C都是正确的 D都不正确,6,下面-是关于软件评测师工作原则的描述,正确的判断是_(38)_。 对于开发人员提交的程序必须进行完全的测试,
3、以确保程序的质量 必须合理安排测试任务,做好周密的测试计划,平均分配软件各个模块的测试时间 在测试之前需要与开发人员进行详细的交流,明确开发人员的程序设计思路,并以此为依据开展软件测试工作,最大程度地发现程序中与其设计思路不一致的错误 要对自己发现的问题负责,确保每一个问题都能被开发人员理解和修改。 (38)A、 B、 C、 D无,7,2.2 软件测试的分类,按是否需查看代码分类 黑盒测试白盒测试,华东交通大学软件学院,8,2.2 软件测试的分类,按是否需要执行被测软件分类 静态测试 主要包括源代码、程序界面和各类文档 动态测试,华东交通大学软件学院,9,测试工作就是进行输入、接受输出、检验结
4、果,不深入代码细节,这样的测试方法称为_ _,在不执行代码的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为_ _。,10,2.2 软件测试的分类,按测试阶段分类 单元测试对软件中的最小可测单元进行测试 依据:程序代码和详细设计文档 集成测试对程序单元或部件之间的接口关系是否符合概要设计要求 依据:单元测试的单元及概要设计文档 系统测试对集成的硬件和软件系统进行测试 依据:软件的需求规格说明文档 验收测试以用户测试为主 依据:软件需求规格说明文档和验收标准,华东交通大学软件学院,11,华东交通大学软件学院,12,软件测试类型按开发阶段划分是_(45)_。 (45)
5、A需求测试、单元测试、集成测试、验证测试 B单元测试、集成测试、确认测试、系统测试、验收测试 C单元测试、集成测试、验证测试、确认测试、验收测试 D调试、单元测试、集成测试、用户测试,13,下述说法错误的是_(46)_。 (46)A单元测试又称为模块测试,是针对软件测试的最小单位程序模块进行正确性检验的测试工作 B集成测试也叫做组装测试,通常在编码完成的基础上,将所有的程序模块进行有序的、递增的测试 C集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统。 D系统测试是在真实或模拟系统运行环境下,检查完整的程序系统能否和相关硬件、外设、网络、系统软件和支持平台
6、等正确配置与连接,并满足用户需求,14,验收测试的定义是_(52)_。 (52)A由用户按照用户手册对软件进行测试以决定是否接收 B由某个测试机构代表用户按照需求说明书和用户手册对软件进行测试以决定是否接收 C按照软件任务书或合同,供需双方约定的验收依据进行测试,决定是否接收 D由开发方和用户按照用户手册执行软件验收,15,2.2 软件测试的分类,按测试执行时是否需人工干预分类 手工测试 自动测试,华东交通大学软件学院,16,2.3 软件测试的过程模型,V模型,华东交通大学软件学院,17,2.3 软件测试的过程模型,W模型,华东交通大学软件学院,18,2.3 软件测试的过程模型,H模型,华东交
7、通大学软件学院,19,2.3 软件测试的过程模型,X模型,华东交通大学软件学院,20,典型的软件测试过程模型有_(46)_等,在这些模型中,_(47)_强调了测试计划等工作的先行和对系统需求和系统设计的测试,_(48)_对软件测试流程予以了说明。 (46)AV模型、W模型、H模型、渐进模型 BV模型、W模型、H模型、螺旋模型 CX模型、W模型、H模型、前置测试模型 DX模型、W模型、H模型、增量模型(47)AV模型 BW模型 C渐进模型 D螺旋模型 (48)AV模型 BW模型 CH模型 D增量模型,21,V模型指出,_(47)_对程序设计进行验证,_(48)_对系统设计进行验证,_(49)_应
8、当追朔到用户需求说明。 (47)A单元和集成测试 B系统测试 C验收测试和确认测试 D验证测试 (48)A单元测试 B集成测试 C功能测试 D系统测试 (49)A代码测试 B集成测试 C验收测试 D单元测试,22,2.3 软件测试的过程模型,测试成熟度模型 第1级:测试和调试没有区别,除了支持调试外,测试没有其他目的; 第2级:测试的目的是为了表明软件能够工作; 第3级:测试的目的是为了表明软件不能正常工作; 第4级:测试的目的不是要证明什么,而是为了把软件不能正常工作的预知风险降低到能够接受的程度; 第5级:测试不是行为,而是一种自觉的约束,不用将太多的测试投入到产生低风险的软件上。,华东交
9、通大学软件学院,23,2.3 软件测试的过程模型,测试过程模型的使用策略 宏观上以W模型为基本框架,从软件开发工作一开始就展开测试工作,微观上在每个测试阶段以H模型为指导,进行独立测试,即只要准备工作就绪,就可以进行独立的测试,并反复迭代测试,直至达到预定目标。而对于软件企业而言,则应以TMM为指导,努力建立规范的软件测试过程。,华东交通大学软件学院,24,特点:同步测试全面测试独立、迭代的测试,25,2.4 软件测试的发展概况,第一阶段:20世纪70年代以前 软件测试主要以代码调试为主。 第二阶段:20世纪70年代 软件测试主要以演示软件系统的正确性为主。 第三阶段:20世纪80年代到90年
10、代中期 软件测试主要以检查程序错误为主。 第四阶段:20世纪90年代中期以后至今 软件测试不断得到完善,更注重软件质量特性的整体评估。,华东交通大学软件学院,26,2.5 国内外软件测试的现状,国外现状:相当成熟,并已成为一个独立的产业。 软件测试在公司中的地位非常重要 软件测试的理论研究蓬勃发展 软件测试市场繁荣 国内现状:萌芽中的市场正在起步 国内软件测试行业的三种形式 对外的第三方测试 对内的第三方测试 软件公司内部的软件测试或质量保证部门,华东交通大学软件学院,27,2.5 国内外软件测试的现状,国内软件测试的地位并不高,发展仍然很不足,原因在于: 国内软件产业本身不强大 软件公司规模小、不正规 对软件测试的认识和重视程度不够 软件管理者与用户的质量意识不够强 软件行业质量监督体系不够好 软件从业人员素质不高 软件测试的经济效益短期内不明显,华东交通大学软件学院,28,2.6 软件测试职业的现状,人才需求大 职业具有明显优势 就业竞争压力小,工作更稳定 薪资步步高 多元化发展 无性别歧视 越老越吃香 存在职业瓶颈,华东交通大学软件学院,29,2.7 软件测试工程师的素质要求,两项意识 三颗“心” 四种能力 五个特性,华东交通大学软件学院,