版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试Software Testing第第1 1讲讲 软件测试概述软件测试概述 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试本讲内容本讲内容 工程背景工程背景 发展历程发展历程 软件测试背景软件测试背景1 定义,目的定义,目的 原理,类型,测试过程原理,类型,测试过程软件测试软件测试基本概念基本概念2 现状,趋势,挑战现状,趋势,挑战 测试职
2、业测试职业现状和趋势现状和趋势软件测试软件测试基本概念基本概念3 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n软件危机软件危机危机背景:危机背景: 落后的软件生产方式无法满足日趋复杂大型软件系落后的软件生产方式无法满足日趋复杂大型软件系统的开发需求(统的开发需求(2020世纪世纪6060年代)年代)危机表现:危机表现: 项目延期、经费超支、产品无法维护项目延期、经费超支、产品无法维护 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal U
3、niversitySoftware Testing软件测试软件测试First Computer Bug (1947)Grace Murray Hopper(1906-1992)计算机科学家计算机科学家 美国海军将军美国海军将军编译器的发明者编译器的发明者COBOL语言的开发负责人语言的开发负责人ACM Grace Murray Hopper Award 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n软件危机软件危机Frederick Phillips Brooks F
4、rederick Phillips Brooks (April 19, 1931-)(April 19, 1931-)第三十四位图灵奖获得者第三十四位图灵奖获得者(1999(1999年年) )Turing Award Citation: For landmark contributions to computer architecture, For landmark contributions to computer architecture, operating systems, and software engineering.operating systems, and software
5、 engineering.IBM System/360贡献:贡献:阿波罗阿波罗1111号登月,跨行交易系统,最大的航空票务系统、号登月,跨行交易系统,最大的航空票务系统、.IBM360IBM360机操作系统机操作系统1963-19661963-1966,BrooksBrooks,人月神话人月神话 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n软件危机软件危机危机原因:缺乏规范化工程约束危机原因:缺乏规范化工程约束缺陷的不断积累与放大效应缺陷的不断积累与放大效应需求阶段
6、需求阶段设计阶段设计阶段编码阶段编码阶段测试阶段测试阶段正确需求正确需求 需求缺陷需求缺陷正确设计正确设计 需求缺陷需求缺陷 设计缺陷设计缺陷正确编码正确编码 需求缺陷需求缺陷 设计缺陷设计缺陷 编码缺陷编码缺陷已发现缺陷已发现缺陷需求缺陷需求缺陷 设计缺陷设计缺陷 编码缺陷编码缺陷未发现缺陷未发现缺陷缺陷如何是软件开发成本增加缺陷如何是软件开发成本增加 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n软件危机软件危机危机解决:危机解决:软件工程软件工程(1968年)年
7、)软件工程软件工程(IEEE定义定义):将系统化的、严格约束的、可量化的方法应用于软件的开发、将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件运行和维护,即将工程化应用于软件. 阶段阶段需求分析需求分析(Requirement Analysis)设计设计(Design)编码编码(Coding)测试测试(Testing)运行和维护运行和维护(Run and Maintenance)工作量工作量20%15%20%45%软件工程各阶段工作量软件工程各阶段工作量 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversityS
8、oftware Testing软件测试软件测试软件测试背景软件测试背景n软件测试的意义软件测试的意义软件测试的必要性软件测试的必要性: :软件缺陷难以避免!软件缺陷难以避免! 1迪斯尼并不总是带来笑声迪斯尼并不总是带来笑声 1994年圣诞节前夕,迪斯尼公司发布了第一个面向儿童的多媒体光盘游戏“狮子王童话” 圣诞节后的第一天,迪斯尼客户支持部电话开始响个不停,不断有人咨询、抱怨为什么游戏总是安装不成功,或没法正常使用 这个游戏软件只能在少数系统中正常运行 缺少缺少兼容性测试 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Te
9、sting软件测试软件测试软件测试背景软件测试背景n软件测试的意义软件测试的意义软件测试的必要性软件测试的必要性: :软件缺陷难以避免!软件缺陷难以避免! 219991999年美国航天局火星登陆事故年美国航天局火星登陆事故( (Mars Polar Lander) )Nancy G. Leveson, The Role of Software in Spacecraft AccidentsNancy G. Leveson, The Role of Software in Spacecraft Accidents 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal U
10、niversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n软件测试的意义软件测试的意义3千年虫问题千年虫问题(Y2K)(Y2K)软件缺陷难以避免!软件缺陷难以避免! 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n软件测试的意义软件测试的意义4爱国者导弹防御系统爱国者导弹防御系统 炸死自家人炸死自家人软件缺陷难以避免!软件缺陷难以避免! 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal University
11、Software Testing软件测试软件测试软件测试背景软件测试背景n软件测试的意义软件测试的意义5IntelIntel奔腾处理芯片缺陷奔腾处理芯片缺陷(Pentium FDIV bug)软件缺陷难以避免!软件缺陷难以避免! (4195835/3145727)*3145727-4195835Thomas Nicely4195835.0/3145727.0 = 1.333 820 449 136 241 002 (Correct value) 4195835.0/3145727.0 = 1.333 739 068 902 037 589 (Returned by flawed Pentium
12、) 4195835*3145727/3145727 = 4195835 (Correct value) 4195835*3145727/3145727 = 4195579 (The flawed Pentium) 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n软件测试的意义软件测试的意义6北京奥运订票网站瘫痪北京奥运订票网站瘫痪事故过程:订票系统半小时即瘫痪事故过程:订票系统半小时即瘫痪软件缺陷难以避免!软件缺陷难以避免! 2021年年11月月6日日南京师范大学 计算
13、机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n软件测试的意义软件测试的意义上述几个实例中的软件问题在软件上述几个实例中的软件问题在软件工程或软件测试中都被称为软件缺工程或软件测试中都被称为软件缺陷或软件故障。陷或软件故障。软件缺陷难以避免!软件缺陷难以避免! 其他其他10%软件产品说软件产品说明书(需求明书(需求)56%编写代码编写代码7%设 计设 计27% 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测
14、试背景软件测试背景n软件测试的意义软件测试的意义p 软件总存在缺陷。只有通过测试,才可以发现软件缺陷。也只有发现了缺陷,才可以将软件缺陷从软件产品或软件系统中清理出去;p 软件中存在的缺陷给我们带来的损失是巨大的,这也说明了软件测试的必要性和重要性;p 测试是所有工程学科的基本组成单元,自然也是软件开发的重要组成部分; p 测试人员水平越高,找到软件问题的时间就越早,软件就越容易更正,产品发布之后越稳定,公司赚的钱也越多。为什么要进行软件测试为什么要进行软件测试: :软件缺陷难以避免!软件缺陷难以避免! 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal Unive
15、rsitySoftware Testing软件测试软件测试软件测试背景软件测试背景n软件测试的意义软件测试的意义 软件测试是保证软件质量的重要手段。软件测软件测试是保证软件质量的重要手段。软件测试深入软件开发过程的每个阶段,在有限的开发条试深入软件开发过程的每个阶段,在有限的开发条件下,最大程度地保证最终软件产品符合用户需要。件下,最大程度地保证最终软件产品符合用户需要。 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n软件测试的发展软件测试的发展早期:早期: 测试等同
16、于测试等同于“调试调试”;由开发人员完成;投入少,;由开发人员完成;投入少,介入晚介入晚1950S:1950S: 测试被视为一种发现软件缺陷的活动;测试被视为一种发现软件缺陷的活动; 开始与调试区别开开始与调试区别开;测试始终后于开发;测试始终后于开发; 缺乏有效的测试方法缺乏有效的测试方法 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n软件测试的发展软件测试的发展早期:早期: 测试等同于测试等同于“调试调试”;由开发人员完成;投入少,;由开发人员完成;投入少,介入晚
17、介入晚1950S:1950S: 测试被视为一种发现软件缺陷的活动;测试被视为一种发现软件缺陷的活动; 开始与调试区别开开始与调试区别开;测试始终后于开发;测试始终后于开发; 缺乏有效的测试方法缺乏有效的测试方法 以功能验证为导向,测试是证明软件是正确的(正向思维)以功能验证为导向,测试是证明软件是正确的(正向思维) 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n软件测试的发展软件测试的发展1970S:1970S: 软件工程思想开始深入人心;软件工程思想开始深入人心;
18、-1972-1972,Bill Hetzel组织了第一次软件测试会议组织了第一次软件测试会议 -1973, -1973, Bill Hetzel给出软件测试第一个定义:给出软件测试第一个定义:“测试就是建立一种信心,认为程序能够按预期设想运行测试就是建立一种信心,认为程序能够按预期设想运行” 核心思想:测试是试图验证软件是工作的核心思想:测试是试图验证软件是工作的 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n软件测试的发展软件测试的发展1970S:1970S:Gle
19、nford J. Myers: : 测试是尽可能多地发现软件错误测试是尽可能多地发现软件错误MyersMyers的软件测试定义:的软件测试定义: 测试是为发现错误而执行一个程序或系测试是为发现错误而执行一个程序或系统的过程统的过程以破坏性为为导向,测试是为了找到软件中的错误(逆以破坏性为为导向,测试是为了找到软件中的错误(逆向思维)向思维) 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n软件测试的发展软件测试的发展Myers的的三个重要观点三个重要观点: 1. 1.
20、测试是为了证明程序有错,而不是证测试是为了证明程序有错,而不是证明程序无错误;明程序无错误; 2.2.一个好的测试用例是在于它能发现至今一个好的测试用例是在于它能发现至今未发现的错误;未发现的错误; 3.3.一个成功的测试是发现了至今未发现的一个成功的测试是发现了至今未发现的错误的测试;错误的测试;The Art of Software Testing 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n软件测试的发展软件测试的发展1980S:1980S: - -软件趋向大
21、型化、高复杂化,软件质量越来越重要软件趋向大型化、高复杂化,软件质量越来越重要 - -开发从混乱无序过渡到结构化开发开发从混乱无序过渡到结构化开发 - -测试基础理论和实用技术开始形成测试基础理论和实用技术开始形成 - -测试被作为软件质量保证的重要手段测试被作为软件质量保证的重要手段 -1983-1983年年, ,IEEE给出软件测试的定义给出软件测试的定义以质量评估为导向,测试是提供产品的评估和质量度量以质量评估为导向,测试是提供产品的评估和质量度量 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试
22、软件测试软件测试背景软件测试背景n软件测试的发展软件测试的发展1990S-1990S-至今:至今: - -测试理论和技术进一步完善测试理论和技术进一步完善 - -测试工具发展迅速,大大提高测试的自动化程度测试工具发展迅速,大大提高测试的自动化程度 - -商业化软件测试工具和开源软件测试工具。商业化软件测试工具和开源软件测试工具。 - -Web测试,面向对象测试测试,面向对象测试, , 以缺陷预防为导向,测试是为了展示软件符合设计要求,发现缺陷、以缺陷预防为导向,测试是为了展示软件符合设计要求,发现缺陷、预防缺陷。预防缺陷。 2021年年11月月6日日南京师范大学 计算机学院Nanjing No
23、rmal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n软件测试的发展软件测试的发展 更好的阶段划分更好的阶段划分l初级阶段(初级阶段(1957195719711971) 测试通常被认为是对产品进行事后检验测试通常被认为是对产品进行事后检验 ,缺乏,缺乏有效的测试方法有效的测试方法l发展阶段(发展阶段(1972197219821982) 19721972年第一次关于软件测试的正式会议,促进年第一次关于软件测试的正式会议,促进了软件测试的发展了软件测试的发展 l成熟阶段(成熟阶段(19831983到现在)到现在) 国际标准国际标准Std 829-1
24、983 Std 829-1983 ,形成一门独立的学,形成一门独立的学科和专业,成为软件工程学科中的一个重要组成部分科和专业,成为软件工程学科中的一个重要组成部分 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n 软件测试的正面性软件测试的正面性Bill Hetzel 正向思维的代表正向思维的代表p 软件测试就是为程序能够按预期设想那样运行而建立软件测试就是为程序能够按预期设想那样运行而建立足够的信心;足够的信心;p 软件测试是一系列活动以评价一个程序或系统的特性软件测
25、试是一系列活动以评价一个程序或系统的特性或能力并确定是否达到预期的结果或能力并确定是否达到预期的结果p 测试是为了验证软件是否符合用户需求,即验证软件测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作产品是否能正常工作 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n 软件测试的反面性软件测试的反面性Glenford J. Myers 反向思维的代表反向思维的代表p 测试是为了证明程序有错,而不是正明程序无错;测试是为了证明程序有错,而不是正明程序无错;p
26、 一个好的测试用例是在于它能发现至今未发现的错误;一个好的测试用例是在于它能发现至今未发现的错误;p 一个成功的测试是发现了至今未发现的错误的测试一个成功的测试是发现了至今未发现的错误的测试 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试背景软件测试背景n 软件测试定义的两面性软件测试定义的两面性评价一个程序或系统的特性或能力并确定是否达到预期的结果测试是为发现错误而针对某个程序或系统的执行过程软软件件测测试试正向思维正向思维验证软件正常工作逆向思维逆向思维假定软件有错误在设计规定的环
27、境下运行软件的所有功能,直至全部通过。寻找容易犯错误的地方和系统的薄弱环节,试图破坏系统,直至找不出问题。 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的定义软件测试的定义1983 IEEE1983 IEEE标准标准- -使用人工或自动手段来运行或测定某个系统的过程,使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果的差别果与实际结果的差别. .
28、2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的定义软件测试的定义1990 IEEE1990 IEEE标准标准610.2610.2- -软件测试定义软件测试定义1:1:在特定的条件下运行系统或构件,观在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价察或记录结果,对系统的某个方面做出评价. .- -软件测试定义软件测试定义2:2:分析某个软件项以发现现存和要求的分析某个软件项以发现现存和要求的条件之差别并评价此软件项的特性条件之差别
29、并评价此软件项的特性. . 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念() 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n 软件测试是由软件测试是由“验证(验证(VerificationVerification)”和和“有效性确认(有效性确认(ValidationValidation)”活动构成的整活动构成的整体体p Ver
30、ificationVerification:Are we building the product rightAre we building the product right?是否正确地构造了软件?即是否正确地做事,验证开发过程是否正确地构造了软件?即是否正确地做事,验证开发过程是否遵守已定义好的内容。验证产品满足规格设计说明书的是否遵守已定义好的内容。验证产品满足规格设计说明书的一致性一致性pValidationValidation: Are we building the right product? Are we building the right product? 是是否构造了正是
31、用户所需要的软件?即是否正在做正确的事。否构造了正是用户所需要的软件?即是否正在做正确的事。验证产品所实现的功能是否满足用户的需求验证产品所实现的功能是否满足用户的需求 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的定义软件测试的定义( (通俗通俗) ) 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的其他观
32、点软件测试的其他观点l 软件测试被认为是对软件系统中潜在的各种风险软件测试被认为是对软件系统中潜在的各种风险进行评估的活动。进行评估的活动。基于风险基于风险的软件测试可以被看的软件测试可以被看作是一个动态的监控过程,对软件开发全过程进作是一个动态的监控过程,对软件开发全过程进行检测,随时发现问题、报告问题行检测,随时发现问题、报告问题l 测试的测试的经济观点经济观点就是以最小的代价获得最高的软就是以最小的代价获得最高的软件产品质量。经济观点也要求软件测试尽早开展件产品质量。经济观点也要求软件测试尽早开展工作,发现缺陷越早,返工的工作量就越小,所工作,发现缺陷越早,返工的工作量就越小,所造成的损
33、失就越小。造成的损失就越小。 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的目的软件测试的目的1.1.确保软件质量:确保软件质量: 找出软件错误和缺陷,降低软件发布后潜在错误和找出软件错误和缺陷,降低软件发布后潜在错误和缺陷造成的损失;验证软件是否能满足用户需求,树立缺陷造成的损失;验证软件是否能满足用户需求,树立对软件的信心对软件的信心. .2.2.确保软件开发过程方向的正确性:确保软件开发过程方向的正确性: 通过测试报告提供有用的数据帮助管理者做
34、出正确通过测试报告提供有用的数据帮助管理者做出正确判断,修正软件开发过程判断,修正软件开发过程. . 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的原理软件测试的原理原理原理1 1:所有测试都应追溯到用户需求:所有测试都应追溯到用户需求, ,最严重的错误是最严重的错误是导致软件无法满足需求的错误。导致软件无法满足需求的错误。原理原理2 2:测试计划制定先于测试的执行,测试贯穿于全:测试计划制定先于测试的执行,测试贯穿于全部软件生存周期。部软件生存周期
35、。原理原理3 3:软件缺陷会集中出现,:软件缺陷会集中出现,80%80%的错误可能起源于的错误可能起源于20%20%的模块。的模块。 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的原理软件测试的原理原理原理4 4:测试应从:测试应从“小规模小规模”走向走向“大规模大规模”。原理原理5 5:穷尽测试不可能,测试只能说明缺陷存在,而:穷尽测试不可能,测试只能说明缺陷存在,而不能说明软件没有缺陷。不能说明软件没有缺陷。原理原理6 6:有效的测试应由第三方独
36、立进行。:有效的测试应由第三方独立进行。 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的原理软件测试的原理原理原理7 7:测试用例需要逐步完善,不断修订。:测试用例需要逐步完善,不断修订。原理原理8 8:良好策划的自动化是实现测试效益的关键。:良好策划的自动化是实现测试效益的关键。原理原理9 9:测试需要天分、自信和团队投入。:测试需要天分、自信和团队投入。 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal Univer
37、sitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的对象:软件测试的对象: 软件测试不等于程序测试;软件测试不等于程序测试; 软件测试贯串于软件定义和开发的整个过程;软件测试贯串于软件定义和开发的整个过程; 软件开发过程中所产生的需求规格说明、概要设计软件开发过程中所产生的需求规格说明、概要设计规格说明、详细设计规格说明以及源程序都是软件测试的规格说明、详细设计规格说明以及源程序都是软件测试的对象。对象。 软件测试在软件生命周期中横跨两个阶段:软件测试在软件生命周期中横跨两个阶段: 第一个阶段:单元测试阶段,即在每个模块编写出以后第一个阶段:单元
38、测试阶段,即在每个模块编写出以后所做的必要测试;所做的必要测试; 第二个阶段:综合测试阶段,即在完成单元测试后进行第二个阶段:综合测试阶段,即在完成单元测试后进行的测试,如集成测试、系统测试、验收测试。的测试,如集成测试、系统测试、验收测试。 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的过程软件测试的过程Step1:拟定软件:拟定软件测试计划测试计划Step2 2:编制软件测试大纲:编制软件测试大纲确定测试的目标、范围、系统功能、非系统功能、测试环
39、境、自确定测试的目标、范围、系统功能、非系统功能、测试环境、自动化测试、测试结果分析计划、测试报告计划、测试重用计划、动化测试、测试结果分析计划、测试报告计划、测试重用计划、时间表、测试结束标准时间表、测试结束标准.测试大纲是软件测试的依据。测试大纲是软件测试的依据。明确详尽地规定针对每项功能或特性需要完成的测试项目和测试明确详尽地规定针对每项功能或特性需要完成的测试项目和测试完成标准完成标准. 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的过程软件
40、测试的过程Step3:设计和生成:设计和生成测试用例测试用例测试用例定义测试用例定义1:一组输入即运行:一组输入即运行前提条件前提条件,和为某特,和为某特定的目标而生成的定的目标而生成的预期结果预期结果.测试用例定义测试用例定义2:一个文档,详细说明:一个文档,详细说明输入输入、期望输出期望输出,和为一测试项所准备一组的和为一测试项所准备一组的执行条件执行条件. 定义定义1是测试用例的实质,定义是测试用例的实质,定义2是测试用例的一种存在是测试用例的一种存在方式方式. 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Test
41、ing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的过程软件测试的过程Step3:设计和生成:设计和生成测试用例测试用例测试用例三要素:输入、执行条件、期望输出测试用例三要素:输入、执行条件、期望输出编编号号模块模块标题标题级别级别测试目的测试目的执行条件执行条件输入输入期望输出期望输出001SMS短信接收短信接收1验证手机能验证手机能正常接收短正常接收短信信待测手机待测手机1参照手机参照手机2SIM卡两张卡两张参照手机参照手机给待测手给待测手机发一条机发一条短信短信待测手机待测手机能够正常能够正常接收短信接收短信简单测试用例简单测试用例 2021年年11月月6日日南京师范大学
42、计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的过程软件测试的过程Step3:设计和生成:设计和生成测试用例测试用例测试用例设计准则:测试用例设计准则:(1)代表性:代表合理和不合理、合法和非法、边界)代表性:代表合理和不合理、合法和非法、边界和越界以及极限数据、各种操作环境等和越界以及极限数据、各种操作环境等(2)可判定性:测试执行结果的正确性是可判定的或)可判定性:测试执行结果的正确性是可判定的或可评估的可评估的(3)可再现性:对同样的测试用例,系统执行结果应)可再现性:对同样的测试用例
43、,系统执行结果应当相同当相同 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的过程软件测试的过程Step4 4:实施测试:实施测试Step5 5:分析测试结果:分析测试结果在每个测试周期,测试工程师依据测试大纲和测试用例,在每个测试周期,测试工程师依据测试大纲和测试用例,通过执行被测试软件,或检查程序代码和文档,对其进通过执行被测试软件,或检查程序代码和文档,对其进行测试行测试.收集测试结果:通过和未通过的测试用例收集测试结果:通过和未通过的测试用例.
44、生成测试报告:为软件项目进展提供重要的即时参考数生成测试报告:为软件项目进展提供重要的即时参考数据据. 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的原则软件测试的原则(1 1)尽早地和及时地测试;)尽早地和及时地测试;(2 2)测试用例应当由测试数据和与之对应的预期结果这两部分组成;)测试用例应当由测试数据和与之对应的预期结果这两部分组成;(3 3)在程序提交测试后,应当由专门的测试人员进行测试;)在程序提交测试后,应当由专门的测试人员进行测试;(
45、4 4)测试用例应包括合理的输入条件和不合理的输入条件;)测试用例应包括合理的输入条件和不合理的输入条件;(5 5)严格执行测试计划,排除测试的随意性;)严格执行测试计划,排除测试的随意性;(6 6)充分注意测试当中的群体现象;)充分注意测试当中的群体现象;(7 7)应对每一个测试结果做全面的检查;)应对每一个测试结果做全面的检查;(8 8)保存测试计划、测试用例、出错统计和最终分析报告,为维护工作提)保存测试计划、测试用例、出错统计和最终分析报告,为维护工作提供充分的资料。供充分的资料。 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySo
46、ftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n测试信息流程测试信息流程测试信息流程如图所示。测试过程中需要三类输入:软件配置、测试测试信息流程如图所示。测试过程中需要三类输入:软件配置、测试配置和测试工具。配置和测试工具。软件配置测试配置测试工具测试结果分析改正错误可靠性分析回归测试错误测试结果修正的软件测试结果预测的可靠性预期结果 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的周期性软件测试的周期性测试周期测试周期开
47、发开发/ 改错改错改错改错测试周期测试周期改错改错串行方式串行方式开发者开发者: .开发者:开发者:并行方式并行方式测试者:测试者:开发开发/ 改错改错开发开发/ 改错改错最终回归测试最终回归测试回归测试回归测试1测试周期测试周期1功能冻结功能冻结代码冻结代码冻结测试周期测试周期2 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的停止依据软件测试的停止依据 第一类标准第一类标准:测试超过了预定时间,则停止测试。 第二类标准第二类标准:执行了所有的测试用
48、例,但并没有发现故 障,则停止测试。 第三类标准:第三类标准:使用特定的测试用例设计方案作为判断测试停止的基础。 第四类标准:第四类标准:正面指出停止测试的具体要求,即停止测试的标准可定义为查出某一预订数目的故障。 第五类标准第五类标准:根据单位时间内查出故障的数量决定是否停止测试。 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试和缺陷修复的代价软件测试和缺陷修复的代价0 02020404060608080100100编制说明书编制说明书设计阶段设计阶
49、段编写代码编写代码测试测试发布发布 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试环境软件测试环境测试环境测试环境= =软件软件+ +硬件硬件+ +网络网络测试环境要点:测试环境要点: 真实真实 干净干净 无毒无毒 独立独立测试环境分类:测试环境分类: 软件开发环境:包括开发工具和平台软件开发环境:包括开发工具和平台1. 软件运行环境:最终用户使用的环境软件运行环境:最终用户使用的环境 2021年年11月月6日日南京师范大学 计算机学院Nanjing
50、Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的分类软件测试的分类方法方法目标目标/特性特性单元测试单元测试系统测试系统测试验收测试验收测试性能测试性能测试强壮性测试强壮性测试功能测试功能测试白盒测试白盒测试黑盒测试黑盒测试测试阶段或层次测试阶段或层次适用性测试适用性测试可靠性测试可靠性测试集成测试集成测试安全性测试安全性测试 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的
51、分类软件测试的分类视角视角2 2:测试阶段:测试阶段/ /层次层次1.1.单元测试单元测试 2.2.集成测试集成测试 3.3.确认测试确认测试 4.4.系统测试系统测试5.5.验收测试验收测试 6.6.性能测试性能测试 7.7.回归测试回归测试视角视角1 1:测试技术:测试技术/ /方法方法1.1.白盒测试白盒测试 2.2.黑盒测试黑盒测试 3.3.灰盒测试灰盒测试视角视角3 3:执行状态:执行状态1.1.静态测试静态测试 2.2.动态测试动态测试视角视角4 4:执行主体:执行主体1.1.开发方测试开发方测试 2.2.用户测试用户测试 3.3.第三方测试第三方测试视角视角5 5:特殊测试:特殊
52、测试1.1.国际化测试国际化测试 2. 2. 即兴测试即兴测试 3.3.兼容性测试兼容性测试 4.4.安全性测试安全性测试5.5.可用性与易获得性测试可用性与易获得性测试 6.6.面向对象系统测试面向对象系统测试 7.Web7.Web测试测试 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的类型软件测试的类型视角视角1 1:测试技术、方法:测试技术、方法1.1.白盒测试白盒测试 2.2.黑盒测试黑盒测试 3.3.灰盒测试灰盒测试白盒测试白盒测试 whi
53、te-box testingwhite-box testing 基于软件代码的内部逻辑来设计测试用例。测试退出条件是代基于软件代码的内部逻辑来设计测试用例。测试退出条件是代码覆盖率码覆盖率. .一般由开发人员完成一般由开发人员完成. .黑盒测试黑盒测试 black-box testingblack-box testing 基于需求和功能性,不需要了解内部的设计和代码,通过软件基于需求和功能性,不需要了解内部的设计和代码,通过软件外部表现来发现缺陷和错误外部表现来发现缺陷和错误. .灰盒测试灰盒测试 gray-box testinggray-box testing 介于白盒测试与黑盒测试之间的技
54、术,既关注软件外部表现,介于白盒测试与黑盒测试之间的技术,既关注软件外部表现,又注意程序内部逻辑结构又注意程序内部逻辑结构. . 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的类型软件测试的类型单元测试单元测试 unit testing 对最小的软件设计单元对最小的软件设计单元模块的验证工作模块的验证工作. .集成测试集成测试 integration testing 验证模块间接口是否正确,多个模块是否能协调一致地正确实验证模块间接口是否正确,多个模
55、块是否能协调一致地正确实现需求和功能现需求和功能. .确认测试确认测试 validation testing 验证软件是否可以按照用户合理的期望方式工作验证软件是否可以按照用户合理的期望方式工作. .系统测试系统测试 system testing 测试整个系统的行为和错误属性测试整个系统的行为和错误属性. .视角视角2 2:测试阶段、层次:测试阶段、层次1.1.单元测试单元测试 2.2.集成测试集成测试 3.3.确认测试确认测试 4.4.系统测试系统测试5.5.验收测试验收测试 6.6.性能测试性能测试 7.7.回归测试回归测试 2021年年11月月6日日南京师范大学 计算机学院Nanjing
56、 Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的类型软件测试的类型验收测试验收测试 acceptance testing 保证客户对所有的需求都满意保证客户对所有的需求都满意.(.(测试和测试和测试测试) )性能测试性能测试 performance testing 评价系统响应时间、吞吐率等系统属性,并与不同版本或竞争评价系统响应时间、吞吐率等系统属性,并与不同版本或竞争产品进行比较产品进行比较. .回归测试回归测试 regression testing 保证增强型或改正型修改使软件正常运行,不影响已有功能保证增强
57、型或改正型修改使软件正常运行,不影响已有功能. .视角视角2 2:开发阶段:开发阶段1.1.单元测试单元测试 2.2.集成测试集成测试 3.3.确认测试确认测试 4.4.系统测试系统测试5.5.验收测试验收测试 6.6.性能测试性能测试 7.7.回归测试回归测试 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的类型软件测试的类型静态测试:静态测试: 不运行程序不运行程序,而通过人工对程序和文档进行分析与检查,而通过人工对程序和文档进行分析与检查. .动
58、态测试:动态测试: 通过人工或利用工具通过人工或利用工具运行程序运行程序进行检查,分析程序执行状态和进行检查,分析程序执行状态和外部表现外部表现. .视角视角3 3:执行状态:执行状态1.1.静态测试静态测试 2.2.动态测试动态测试 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件测试基本概念n软件测试的类型软件测试的类型开发方测试:开发方测试: 开发方通过检测和提供证据,证实软件是否满足规定的需求开发方通过检测和提供证据,证实软件是否满足规定的需求. . 验证测试或验证测
59、试或测试测试. .用户测试:用户测试: 用户通过运行和使用软件,检测与核实软件实现是否符合自己用户通过运行和使用软件,检测与核实软件实现是否符合自己预期要求预期要求. .测试测试. .第三方测试:第三方测试: 介于软件开发方和用户之间的测试组织进行的测试活动介于软件开发方和用户之间的测试组织进行的测试活动. .视角视角4 4:执行主体:执行主体1.1.开发方测试开发方测试 2.2.用户测试用户测试 3.3.第三方测试第三方测试 2021年年11月月6日日南京师范大学 计算机学院Nanjing Normal UniversitySoftware Testing软件测试软件测试软件测试基本概念软件
60、测试基本概念n软件测试的类型软件测试的类型国际化测试:国际化测试: 保证全球化软件产品符合不同国家的语言和使用习惯保证全球化软件产品符合不同国家的语言和使用习惯. .即兴测试:即兴测试: 通过直觉和经验,不采用任何形式化的测试通过直觉和经验,不采用任何形式化的测试. .兼容性测试:兼容性测试: 确保软件在不同基础设施下都能够一致地发挥作用确保软件在不同基础设施下都能够一致地发挥作用. .安全性测试:安全性测试: 测试软件是否存在安全漏洞和隐患测试软件是否存在安全漏洞和隐患. .视角视角5 5:特殊测试:特殊测试1.1.国际化测试国际化测试 2.2.即兴测试即兴测试 3.3.兼容性测试兼容性测试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国超细纤维清洁地拖数据监测研究报告
- 2025至2030年中国综合布线配线产品数据监测研究报告
- 2025至2030年中国牛仔皮标牌数据监测研究报告
- 2025年中国电动摩托车控制器市场调查研究报告
- 2025年中国家用换气扇市场调查研究报告
- 2025年中国单摆式进出口器市场调查研究报告
- 2025至2031年中国通讯器行业投资前景及策略咨询研究报告
- 绿色创新对出口产品结构优化的影响研究
- 二零二五年度初级农产品电商平台风险控制与合作合同4篇
- 二零二五年度拍卖标的物鉴定合同4篇
- 2024年湖南高速铁路职业技术学院高职单招数学历年参考题库含答案解析
- 2024年国家工作人员学法用法考试题库及参考答案
- 国家公务员考试(面试)试题及解答参考(2024年)
- 《阻燃材料与技术》课件 第6讲 阻燃纤维及织物
- 同等学力英语申硕考试词汇(第六版大纲)电子版
- 人教版五年级上册递等式计算100道及答案
- 墓地个人协议合同模板
- 2024年部编版初中语文各年级教师用书七年级(上册)
- 2024年新课标全国Ⅰ卷语文高考真题试卷(含答案)
- 湖南省退休人员节日慰问政策
- QB/T 5998-2024 宠物尿垫(裤)(正式版)
评论
0/150
提交评论