软件开发的过程_第1页
软件开发的过程_第2页
软件开发的过程_第3页
软件开发的过程_第4页
软件开发的过程_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件开发的过程软件开发的过程 课程地位课程地位c#sql serverxmlpspmasp.netoracleooadcomputer basehtml/javascriptsql baseoop/javacstbjsp/servletejb/webservicewinformsstruts/jsftesting/sqalinux课程目标课程目标 理解质量、质量管理、质量控制及质量保理解质量、质量管理、质量控制及质量保证等相关的概念证等相关的概念 了解测试、测试活动及基本的测试方法了解测试、测试活动及基本的测试方法 使用单元测试工具使用单元测试工具junit及及nunit 使用配置管理工具使用

2、配置管理工具vss第一阶段目标第一阶段目标 软件质量的介绍软件质量的介绍 软件测试的介绍软件测试的介绍李先生简介简介电视机画面清晰度一般更好的声音对用户不亲和满意 超过平均水平书籍满意用户的期望用户的期望画面质量良好更加生动活泼声音效果更好饭店饭店-2-2饭店饭店-1-1质量的概念质量的概念定餐定餐服务延迟食物口味佳服务准时食物口味最佳较便宜昂贵稍贵误解! 生产商 产品符合规范 消费者产品适于使用且带来益处服务准时食物味道欠佳用户用户饭店饭店-3-3质量的演变质量的演变 5-3检查部门首席质检员设立产品、校核与维修的标准记录的数据产品经理质量的演变质量的演变 5-4 第二次世界大战结束以后,以

3、文盲劳力和第二次世界大战结束以后,以文盲劳力和低劣模仿著称的日本经济进入萧条期低劣模仿著称的日本经济进入萧条期 从从 20 世纪世纪 50 年代至年代至 1960 年,日本人的整年,日本人的整顿过程发展的很快,使得从高层管理人员顿过程发展的很快,使得从高层管理人员到最底层工人的每种职位的人都重视质量到最底层工人的每种职位的人都重视质量控制和管理控制和管理 20 世纪世纪 70 年代早期,由于产品成本低且质年代早期,由于产品成本低且质量优,日本向美国和欧洲的出口显著增长量优,日本向美国和欧洲的出口显著增长软件质量软件质量 ieee(电子电气工程协会电子电气工程协会) 将软件质量定义为q 一个系统

4、、组件或过程符合指定要求的程度指定要求的程度q 一个系统、组件或过程满足客户或用户期望的程度客户或用户期望的程度软件质量是许多质量属性的综合体现,各种质量属性反映了软件质量的方方面面。人们通过改善软件的各种质量属性,从而提高软件的整体质量 。质量框架质量框架已开发系统的可交付件满足质量框架的每个方面质量框架测试确认验证认证流程单元集成系统审查走查评审alphabetacmmisocmm i质量保证和质量控制的区别质量保证和质量控制的区别 2-1 工程工程确保标准、流程和规程合适 在流程中执行标准和规程质量控制方法质量控制方法检查方法收集对质量控制非常重要的数据。这种方法与文档检查和文档创建者相

5、关。工作流程抽样在工作流程中对任何过程抽样并建立证明文件,这些证明文件会提供高标准的保证。测试方法说明已确定要求的每个需求的测试适用性,使系统能够满足要求。测试规程应详细说明。随机产品抽样任意选取一个单元,且每个单元有均等的抽取机会。这是最简单的机率抽样方法。抽样频率分类将所有数据分为多个类别。这些类别可以是可能出现的错误或缺陷的类型。 编号错误类别频率标志允许限值1数据溢出数据溢出2逻辑错误逻辑错误3访问不存在的数组访问不存在的数组元素元素清单在软件开发过程的每个阶段都进行正式的技术评审。清单用于评估作为开发过程一部分而交付的产品。简介简介 软件测试是软件工程过程中的关键组件。软件测试是软件

6、工程过程中的关键组件。 软件测试是软件质量保证的要素,可以将其软件测试是软件质量保证的要素,可以将其描述为一个运行程序以检测错误(如果有)描述为一个运行程序以检测错误(如果有)的过程。的过程。测试的常识与道理测试的常识与道理 2-1 编程大师说:没有错误的程序世间难求。编程大师说:没有错误的程序世间难求。 (编程之道编程之道) 你在学校里学过测试吗?(读到博士可能你在学校里学过测试吗?(读到博士可能也不懂测试)也不懂测试) 你所在的企业重视测试吗?你所在的企业重视测试吗? (小公司程序(小公司程序员的技能更加全面)员的技能更加全面) 临时抱佛脚行吗?临时抱佛脚行吗?你以为有文档模板就会你以为有

7、文档模板就会测试了吗测试了吗? 测试的常识与道理测试的常识与道理 2-2 如果不懂得有效地进行测试,你不仅得不如果不懂得有效地进行测试,你不仅得不到功劳,也没人欣赏你的苦劳,你拥有最到功劳,也没人欣赏你的苦劳,你拥有最多的将只是疲劳。多的将只是疲劳。 职业软件工程师应当掌握需求开发、系统职业软件工程师应当掌握需求开发、系统设计、编程、测试、维护设计、编程、测试、维护 所有技能。所有技能。 测试的目的是为了发现尽可能多的缺陷测试的目的是为了发现尽可能多的缺陷,不是不是为了说明软件中没有缺陷。为了说明软件中没有缺陷。 推论:成功的测试在于发现了迄今尚未发推论:成功的测试在于发现了迄今尚未发现的缺陷

8、。所以测试人员的职责是设计这现的缺陷。所以测试人员的职责是设计这样的测试用例,它能有效地揭示潜伏在软样的测试用例,它能有效地揭示潜伏在软件里的缺陷件里的缺陷。 千万不要将千万不要将“测试测试”与与“演示演示”混为一谈。混为一谈。例如科研鉴定会。例如科研鉴定会。如果产品通过了严格的测试,大家不要不吭如果产品通过了严格的测试,大家不要不吭气,应当好好地宣传一把气,应当好好地宣传一把 。软件测试原则软件测试原则 2-1 完全测试程序是不可能的完全测试程序是不可能的 输入量太大输入量太大 输出结果太多输出结果太多 软件实现途径太多软件实现途径太多 软件说明书没有客观标准。从不同角度看,软软件说明书没有

9、客观标准。从不同角度看,软件缺陷的标准不同。件缺陷的标准不同。软件测试原则软件测试原则 2-2 软件测试是有风险的行为软件测试是有风险的行为 测试无法显示潜伏的软件缺陷测试无法显示潜伏的软件缺陷 找到的软件缺陷越多,就说明软件缺陷越找到的软件缺陷越多,就说明软件缺陷越多多 并非所有软件缺陷都能修复并非所有软件缺陷都能修复 软件测试一项讲究条理的技术专业软件测试一项讲究条理的技术专业 软件测试方法黑盒和白盒软件测试方法黑盒和白盒 白盒测试中(有时候称为开盒测试),软白盒测试中(有时候称为开盒测试),软件测试员可以访问程序员的代码,并通过件测试员可以访问程序员的代码,并通过检查代码来协助测试可以看

10、到盒子里面。检查代码来协助测试可以看到盒子里面。一般在单元测试中采用百盒测试,用于测一般在单元测试中采用百盒测试,用于测试模块中所有可能的路径、执行所有循环试模块中所有可能的路径、执行所有循环并测试所有逻辑表达式。并测试所有逻辑表达式。 黑盒测试则侧重于软件的整体功能。黑盒测试则侧重于软件的整体功能。 它不它不基于程序的内部结构而基于系统功能。犹基于程序的内部结构而基于系统功能。犹如一个人站在黑盒子外面,只知道系统输如一个人站在黑盒子外面,只知道系统输入一定数据,得到一定的输出,而不必清入一定数据,得到一定的输出,而不必清楚这个黑盒子中进行了哪些操作和运算。楚这个黑盒子中进行了哪些操作和运算。

11、软件测试方法静态和动态软件测试方法静态和动态 静态检查静态检查 确保系统按照组织的标准和过程运行,主要依确保系统按照组织的标准和过程运行,主要依赖于评审和非运行的手段来检查。通常包括需赖于评审和非运行的手段来检查。通常包括需求评审、设计评审、代码走查和代码检查。求评审、设计评审、代码走查和代码检查。 动态检查动态检查 在生命周期中进行测试(运行)。通常包括单在生命周期中进行测试(运行)。通常包括单元测试、集成测试、系统测试、用户的验收测元测试、集成测试、系统测试、用户的验收测试。试。 静态测试静态测试 审查审查 (inspection) 软件的一种基本测试方法,它以一系列典型问软件的一种基本测

12、试方法,它以一系列典型问题为依据进行检测。题为依据进行检测。 走查走查 (walkthrough) 一对一的审查,比审查更加仔细。一对一的审查,比审查更加仔细。 回顾回顾(review) 以发现软件中存在的错误和缺陷为目的的一以发现软件中存在的错误和缺陷为目的的一种软件测试方法,它是在软件证实执行之前完成。种软件测试方法,它是在软件证实执行之前完成。静态和动态测试进行结构和功能测试静态和动态测试进行结构和功能测试测试阶段执行人静态校验动态校验可行性评审可行性评审开发人员,用户开发人员,用户需求评审需求评审开发人员,用户开发人员,用户设计评审设计评审开发人员开发人员单元测试单元测试开发人员开发人

13、员集成测试集成测试开发人员,用户开发人员,用户系统测试系统测试开发人员在用户开发人员在用户的协助下完成的协助下完成验收测试验收测试用户用户测试技术测试技术黑盒测试测试手段黑盒测试测试手段 2-1根据说明书进行的测试根据说明书进行的测试 测试用例是通过通读相关的说明书而设计得到的。每个测试用例都应该测试说明书的一条或多条陈述。等价划分等价划分 基本做法是将要测试的软件的输入和输出分成若干部分,对于特定部分中的任意值,软件行为都是等价的边界值分析边界值分析 它使用与等价划分相同的方法分析各个部分。但是,它假定错误最可能出现在各部分之间的边界处。状态变换测试状态变换测试 当软件被设计成状态机或者软件

14、实现的是以状态机为模型的需求的时候,状态变换测试特别有用。 测试用例通过生成导致转变的事件来测试状态之间的转换白盒测试测试手段白盒测试测试手段 2-1 分支测试分支测试 测试用例被设计为检验对单元中的流分支或判定点的控制。 通常来说它的目的是要达到目标级别的判定覆盖率。 条件测试条件测试 条件测试的目标是设计测试用例以表明逻辑条件的单个组件和单个组件的组合是正确的。白盒测试测试手段白盒测试测试手段 2-2 数据定义数据定义 使用测试使用测试 它将测试用例设计为对成对的数据定义和使用进行测试。 设置数据项的值的地方就是数据定义,读取或使用数据的地方就是数据使用。 次边界值测试次边界值测试 很多情

15、况下,各部分和它们的边界可以通过单元功能说明书来识别。但是,单元可能会有内部边界值,它只能通过结构说明书来识别。错误猜测错误猜测 错误猜测主要是凭经验,同时还需要诸如错误猜测主要是凭经验,同时还需要诸如边界值分析等其他技术的一些辅助。边界值分析等其他技术的一些辅助。 凭借经验,测试设计者猜测特定类型的软凭借经验,测试设计者猜测特定类型的软件中可能出现的错误类型,并设计测试用件中可能出现的错误类型,并设计测试用例来找到它们。例来找到它们。 由有经验的工程师来进行错误猜测可能是由有经验的工程师来进行错误猜测可能是最有效地设计能发现错误的测试的唯一方最有效地设计能发现错误的测试的唯一方法。相反,任用

16、不合适的人来进行错误猜法。相反,任用不合适的人来进行错误猜测可能会浪费时间。测可能会浪费时间。1236784591110基本路径测试基本路径测试 2-1 路径测试路径测试路径是控制流程图中节点的顺序,始于入口节点,止于出口节点 程序控制结构程序控制结构相应的流程图相应的流程图 分支测试分支测试程序可能通过的路径是:路径 1:1 11路径 2:1 2 3 4 5 10 1 11 路径 3:1 2 3 6 8 9 10 1 11路径 4:1 2 3 6 7 9 10 1 11 基本路径测试基本路径测试 2-2计算路径数,以便可以测试软件计算路径数,以便可以测试软件流程图 矩阵图14523cbaeg

17、fd节点连接到节点1154325432aefbgcd用链接权重替代交叉点值的字母,矩阵就可以成为评估测试中控制结构的有效工具 替换后的矩阵图1 和 0 表示连接存在,字母被替换为 1测试工具测试工具 3-1所有测试应同时通过待测的每个方法的名称都采用 testxxxxx() 格式 不同之处是使用 .net 环境测试工具测试工具nunit junitjunit的介绍的介绍 简介:简介: junit是用于编写和运行可重复测试的java代码的测试框架。 作用:作用: 用于对java程序进行单元测试。 特征:特征: 使用断言方法判断期望值和实际值差异,返回为true. 使用图形模式和文本模式显示测试的

18、结果。 测试软件的代码与产品代码分开junit的介绍的介绍 junit的使用步骤的使用步骤 创建一个testcase类的子类 编写测试的方法(注意所有测试方法都是以test开头,并且该方法是自动调用。) 在测试方法中调用断言方法,比较预期值和实际值之间的区别。 使用testrunner调用测试类。junit的使用的使用(案例的应用案例的应用)编写一个编写一个sample类类public class samplepublic int sum(int a,int b)return a+b;public boolean isone(int a)if(a=1)return true;elseretur

19、n false;junit的使用的使用(案例的应用案例的应用)编写测试类编写测试类import junit.framework.*;public class testsample extends testcasepublic void testsum()sample s=new sample();this.assertequals(10,s.sum(20,20);public void testisone()sample s=new sample();this.asserttrue(s.isone(1);junit的使用的使用(案例的应用案例的应用) 运行测试用例运行测试用例public cl

20、ass maindemopublic static void main(string args)junit.swingui.testrunner.run(testsample.class);junit的使用的使用(案例的应用案例的应用) 在运行时查看测试的结果。在运行时查看测试的结果。国际标准化组织国际标准化组织 (iso) iso 是一个建立于是一个建立于 1947 年的非政府组织。年的非政府组织。 iso的宗旨是:在全世界范围内促进标准化工的宗旨是:在全世界范围内促进标准化工作及相关活动的发展,以便于国际物资和服作及相关活动的发展,以便于国际物资和服务的交流,并扩大在知识、科学、技术和经务

21、的交流,并扩大在知识、科学、技术和经济方面的合作。济方面的合作。 为何为何 iso 是必需的是必需的? 需要需要iso的主要原因有:的主要原因有: 世界范围的贸易自由化的发展世界范围的贸易自由化的发展 各个领域的相互渗透各个领域的相互渗透 世界范围的通信系统世界范围的通信系统 新技术的全球性标准新技术的全球性标准 发展中国家发展中国家iso 的贡献的贡献 成千上万的企业实施了成千上万的企业实施了 iso 9000 标准,它为质标准,它为质量管理和质量保证提供了框架。量管理和质量保证提供了框架。 iso 14000 系列标准提供了环境管理的的类似框系列标准提供了环境管理的的类似框架。架。 定义良

22、好的符号可以在多语种的环境中传达简定义良好的符号可以在多语种的环境中传达简单清晰的信息。相同的汽车控制符号应用于全单清晰的信息。相同的汽车控制符号应用于全世界的汽车中,而不论汽车是在哪儿生产的。世界的汽车中,而不论汽车是在哪儿生产的。iso 的成员有哪些?的成员有哪些? iso 组织的成员可分为以下三类:组织的成员可分为以下三类: iso 团体成员团体成员 通信成员通信成员 订购成员订购成员iso 标准是如何开发的标准是如何开发的? iso 标准的开发依据以下原则:标准的开发依据以下原则: 少数服从多数少数服从多数 行业范围内行业范围内 自愿自愿iso 中的三个主要阶段中的三个主要阶段 iso iso 标准开发过程中的三个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论