软件开发过程与质量保证-5、6、7-编测维2009word版本_第1页
软件开发过程与质量保证-5、6、7-编测维2009word版本_第2页
软件开发过程与质量保证-5、6、7-编测维2009word版本_第3页
软件开发过程与质量保证-5、6、7-编测维2009word版本_第4页
软件开发过程与质量保证-5、6、7-编测维2009word版本_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、Software Engineering20092009软件开发过程与质量保证-5、6、7-编测维2009Software Engineering20092009命名规范举例(java)1. 使用全英文确切的表达变量、域、类等。 正确的命名方式:firstName, grandTotal; 不合适的命名方式:x1,y5;2. 尽量使用项目或产品相关业务领域的术语,同时要有统一的词汇表(Glossary)。3. 命名时使用大小写混合的方式增加可读性,一般情况第一个字母小写,但是类名、接口名的首字母大写。 正确的命名方式: int iSum; public class GetPushInforma

2、tion;Software Engineering200920094. 少使用缩写或使用标准的缩写,同时要有统一的缩略语表(Abbreviation)。5. 避免使用过长的命名,控制在15个字符以内为宜。6. 避免相似的命名,同时不使用仅大小写不同的命名。不合适的命名方式persistentObject & persistentObjects;anSqlDatabase & AnSQLDatabase; 7. 不在命名的开头或者结尾使用下划线(_)。不合适的命名方式:_iSum, GetPushInformation_;Software Engineering20092009注

3、释在类、接口、成员函数和域(属性)的声明前使用。文档编制注释里的内容符合Javadoc标准。例如:/* * Mobile Lottery-A application system developing for * operator or 3rd party.* author Roy Gao * param draws,phoneNumber */public class MLottery(int draws,char phoneNumber) Software Engineering20092009单行注释用于成员函数中说明商业逻辑、代码片断或者声明临时变量加以注释例如:/ Apply a 5

4、% discount to all invoices / over $1000 as defined by the Sarek/ generosity campaign started in Feb. of 2000.Software Engineering20092009软件测试的重要性: 在整个软件开发中,测试工作量一般占 在人命关天的软件(如飞机控制、核反应堆等)测试所花费的时间往往是其它软件工程活动时间之和的三到五倍第六章 软件测试Software Engineering20092009软件测试的目的和原则 G.MyersG.Myers给出了关于测试的一些规则,目标或定义:给出了关于测

5、试的一些规则,目标或定义: 1 1、测试是为了发现程序中的错误而执行程序的过程;、测试是为了发现程序中的错误而执行程序的过程; 2 2、好的测试方案是极可能发现迄今为止尚未发现的、好的测试方案是极可能发现迄今为止尚未发现的 错误的测试方案;错误的测试方案; 3 3、成功的测试是发现了至今为止尚未发现的错误的测、成功的测试是发现了至今为止尚未发现的错误的测 试。试。第六章第六章 软件测试软件测试 6.1软件测试的概述软件测试的概述Software Engineering20092009E.W.Dijkstra 指出: “程序测试能证明错误的存在,但不能证明错误不存在.”测试的目的是:设计测试用例

6、,以最小测试的目的是:设计测试用例,以最小的代价、在最短时间内系统地发现各种的代价、在最短时间内系统地发现各种不同类型的错误不同类型的错误第六章第六章 软件测试软件测试 6.1软件测试的概述软件测试的概述Software Engineering20092009软件测试的原则:软件测试的原则:1.1.所有的测试都应追溯到用户需所有的测试都应追溯到用户需 1)1)最严重的错误最严重的错误( (从用户角度从用户角度) )是那些导致软件是那些导致软件无法满足需求的错误。无法满足需求的错误。 2)2)程序中的问题根源可能在开发前期的各阶段程序中的问题根源可能在开发前期的各阶段解决、纠正错误也必须追溯到前

7、期工作。解决、纠正错误也必须追溯到前期工作。 3)3)测试与软件开发个阶段之间的关系可以参见测试与软件开发个阶段之间的关系可以参见P60 VP60 V模型模型Software Engineering200920092 2、应该在测试开始之前的相当长时间,就、应该在测试开始之前的相当长时间,就 制定出测试计划。制定出测试计划。 1 1)测试计划可以在需求模型一完成就开始)测试计划可以在需求模型一完成就开始 2 2)详细的测试方案定义可以在设计模型被确定)详细的测试方案定义可以在设计模型被确定 后立即开始后立即开始 因此所有测试可以在任何代码被产生前就被计因此所有测试可以在任何代码被产生前就被计划

8、和设计划和设计Software Engineering20092009软件测试不等于程序测试软件测试不等于程序测试软件测试应贯穿于软件定义与开发的整个期间;软件测试应贯穿于软件定义与开发的整个期间; 据美国一家公司统计,查出的软件错误中,属于据美国一家公司统计,查出的软件错误中,属于需求需求分析和软件设计的错误分析和软件设计的错误约占约占 64%64%,属于程序编写的错,属于程序编写的错误仅占误仅占 36%36%。程序编写的许多错误是。程序编写的许多错误是“先天的先天的”。Software Engineering200920093.pareto3.pareto原则:测试发现的错误中原则:测试发

9、现的错误中80%80%很可很可能起源于能起源于20%20%的模块中。的模块中。 所以关键是分离这些有疑点的模块并进行彻底所以关键是分离这些有疑点的模块并进行彻底 的测试的测试4.4.测试应该从测试应该从“小规模小规模”开始,并逐步进开始,并逐步进行行“大规模大规模”测试。测试。 最初测试的时候通常把焦点放在单个程序模块最初测试的时候通常把焦点放在单个程序模块上,进一步测试把焦点放在继承的模块上,最上,进一步测试把焦点放在继承的模块上,最后在整个系统中寻找错误后在整个系统中寻找错误Software Engineering200920095 .穷举测试是不可能的。穷举测试是不可能的。 在测试中不可

10、能运行路径的每一种组合,但在测试中不可能运行路径的每一种组合,但是尽量的覆盖程序逻辑并确保使用程序设计中是尽量的覆盖程序逻辑并确保使用程序设计中的所有条件是可能的。的所有条件是可能的。6.为了达到最佳的测试效果,应该由独立为了达到最佳的测试效果,应该由独立的第三方来从事测试工作。的第三方来从事测试工作。Software Engineering20092009测试的步骤:测试的步骤:Software Engineering20092009单元测试又称为模块测试,是最小单位的测试,其目的在于发现各模块内部可能存在的各种错误。在单元测试活动中,各独立单元模块将在于系统的其它部分相隔离的情况下进行测试

11、,单元测试集中对源代码实现的每一个程序单元进行测试,检查各模块是否正确实现了规定的功能。多个模块可以并行进行单元测试。 Software Engineering20092009单元测试的重要性:单元测试的重要性:负责的单元测试会发现很多Bug,并且修改它们的成本很低系统开发的后期,Bug地发现和修改会更加困难,时间和成本费用大修改Bug后要进行回归测试经过单元测试后,系统集成就会大大简化单元测试会使测试工作的效力发挥到最大化 Software Engineering20092009单元测试的内容:单元测试的内容:模块接口:测试模块的数据流局部数据结构测试路径测试错误处理测试:预见的出错的条件,

12、并设置适当的出错处理对策边界测试:循环的边界条件,运算和判断的最大最小值是否出错等 Software Engineering20092009集成测试在集成各个模块时有两种方式:一次性集成方式:首先对每个模块进行单元测试,然后将这些模块组装在一起进行测试,最终得到要求的软件系统增值式集成方式:首先对每个模块进行单元测试,然后将其逐步组装成较大的系统,在组装过程中一边连接一边测试,已发现连接过程中产生的问题,最后组装成要求的软件系统。1.增值式集成方式有三种实现方式:自顶向下、自底向上和混合增值方式。第六章第六章 软件测试软件测试 6.2.2 集成测试集成测试Software Engineerin

13、g20092009确认测试也称为有效性测试。基于需求规格说明书和用户信息,验证软件的功能和性能及其它特性。确认测试的步骤:进行有效性测试:在模拟的环境下,应用黑盒测试方法,验证所测试的软件是否满足需求规格说明属列出的需求软件配置的复查1.测试和测试第六章第六章 软件测试软件测试 6.2.3 确认测试确认测试Software Engineering20092009系统测试把已经通过确认测试的软件,与计算机硬件、外设、某些支持软件、数据和人员等系统元素结合起来,进行组装和测试。目的在于通过与系统需求定义作比较,发现软件与系统定义不符合或与其矛盾的地方.系统测试用理应根据需求规格说明书来设计,并在模

14、拟环境下运行。第六章第六章 软件测试软件测试 6.2.4 系统测试系统测试Software Engineering20092009验收测试以用户为主,由开发人员,测试人员,QA人员参加的测试Software Engineering20092009软件测试的软件测试的策略和方法策略和方法静态静态测试方法测试方法动态动态测试方法测试方法人工测试方法人工测试方法计算机辅助静计算机辅助静态分析方法态分析方法白盒测试方法白盒测试方法黑盒测试方法黑盒测试方法测试方案第六章第六章 软件测试软件测试 6.3 设计测试方案设计测试方案Software Engineering20092009第六章第六章 软件测试

15、软件测试 6.3 设计测试方案设计测试方案白盒测试白盒测试 把程序看成装在一个透明的白盒子里,也就是完全了解把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确试程序,检验程序中的每条通路是否都能按预定要求正确工作。白盒测试又称为结构测试。工作。白盒测试又称为结构测试。Software Engineering20092009黑盒测试黑盒测试 对于软件测试而言,黑盒测试法把程序看成一个黑盒对于软件测试而言,黑盒测试法把程序看成一个黑盒子,完全不考虑程序

16、的内部结构和处理过程。也就是子,完全不考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口进行的测试,它只检查程说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息且保持外部信息( (如,数据库或文件如,数据库或文件) )的完整性。黑盒的完整性。黑盒测试又称为行为测试。测试又称为行为测试。第六章第六章 软件测试软件测试 6.3 设计测试方案设计测试方案Software Engineering200

17、92009软件维护 就是软件交付使用之后,在新版本产品升级之前这段时间里,软件厂商向客户提供的服务工作。意义其宗旨就是提高客户对软件产品的满意度。保持现有系统的价值第七章 系统维护Software Engineering20092009软件维护的分类改正性维护产品或项目中存在缺陷或错误,在测试和验收时未发现,到了使用过程中逐步暴露出来,需要改正。适应性维护为了产品适应变化了的硬件、系统软件的运行环境,如系统升级完善性维护为了给系统增加新的功能,使产品或项目的功能更加完善和合理,又不至于对系统进行大的改造,这类活动占维护活动的大部分预防性维护为了提高产品或项目的可靠性和可维护性,有利于系统的进一步改造或升级换代Software Engineering20092009Software

温馨提示

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

评论

0/150

提交评论