软件开发过程与质量保证编测维.ppt
- 文档编号:2155497
- 上传时间:2022-10-27
- 格式:PPT
- 页数:30
- 大小:2.19MB
软件开发过程与质量保证编测维.ppt
《软件开发过程与质量保证编测维.ppt》由会员分享,可在线阅读,更多相关《软件开发过程与质量保证编测维.ppt(30页珍藏版)》请在冰豆网上搜索。
SoftwareEngineering20092009BeyondTechnology软件开发过程与质量保证软件开发过程与质量保证第五、六、七章第五、六、七章SoftwareEngineering20092009第五章编写代码软件实现阶段的主要成果计划软件的源代码和构件库编程规范、与编程相关的技术文档测试用例和测试报告等SoftwareEngineering20092009命名规范举例(java)1.使用全英文确切的表达变量、域、类等。
正确的命名方式:
firstName,grandTotal;不合适的命名方式:
x1,y5;2.尽量使用项目或产品相关业务领域的术语,同时要有统一的词汇表(Glossary)。
3.命名时使用大小写混合的方式增加可读性,一般情况第一个字母小写,但是类名、接口名的首字母大写。
正确的命名方式:
intiSum;publicclassGetPushInformation;SoftwareEngineering200920094.少使用缩写或使用标准的缩写,同时要有统一的缩略语表(Abbreviation)。
5.避免使用过长的命名,控制在15个字符以内为宜。
6.避免相似的命名,同时不使用仅大小写不同的命名。
不合适的命名方式persistentObject&persistentObjects;anSqlDatabase&AnSQLDatabase;7.不在命名的开头或者结尾使用下划线(_)。
不合适的命名方式:
_iSum,GetPushInformation_;SoftwareEngineering20092009注释在类、接口、成员函数和域(属性)的声明前使用。
文档编制注释里的内容符合Javadoc标准。
例如:
/*MobileLottery-Aapplicationsystemdevelopingfor*operatoror3rdparty.*authorRoyGao*paramdraws,phoneNumber*/publicclassMLottery(intdraws,charphoneNumber)SoftwareEngineering20092009单行注释用于成员函数中说明商业逻辑、代码片断或者声明临时变量加以注释例如:
/Applya5%discounttoallinvoices/over$1000asdefinedbytheSarek/generositycampaignstartedinFeb.of2000.SoftwareEngineering20092009软件测试的重要性:
在整个软件开发中,测试工作量一般占30%30%40%40%,甚至,甚至,甚至,甚至50%50%。
在人命关天的软件(如飞机控制、核反应堆等)测试所花费的时间往往是其它软件工程活动时间之和的三到五倍第六章软件测试SoftwareEngineering20092009软件测试的目的和原则G.MyersG.Myers给出了关于测试的一些规则,目标或定义:
给出了关于测试的一些规则,目标或定义:
11、测试是为了发现程序中的错误而执行程序的过程;、测试是为了发现程序中的错误而执行程序的过程;22、好的测试方案是极可能发现迄今为止尚未发现的、好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;错误的测试方案;33、成功的测试是发现了至今为止尚未发现的错误的测、成功的测试是发现了至今为止尚未发现的错误的测试。
试。
第六章第六章软件测试软件测试6.1软件测试的概述软件测试的概述SoftwareEngineering20092009E.W.Dijkstra指出:
“程序测试能证明错误的存在,但不能证明错误不存在.”测试的目的是:
设计测试用例,以最小测试的目的是:
设计测试用例,以最小的代价、在最短时间内系统地发现各种的代价、在最短时间内系统地发现各种不同类型的错误不同类型的错误第六章第六章软件测试软件测试6.1软件测试的概述软件测试的概述SoftwareEngineering20092009软件测试的原则:
软件测试的原则:
1.1.所有的测试都应追溯到用户需所有的测试都应追溯到用户需1)1)最严重的错误最严重的错误(从用户角度从用户角度)是那些导致软件是那些导致软件无法满足需求的错误。
无法满足需求的错误。
2)2)程序中的问题根源可能在开发前期的各阶段程序中的问题根源可能在开发前期的各阶段解决、纠正错误也必须追溯到前期工作。
解决、纠正错误也必须追溯到前期工作。
3)3)测试与软件开发个阶段之间的关系可以参见测试与软件开发个阶段之间的关系可以参见P60VP60V模型模型SoftwareEngineering2009200922、应该在测试开始之前的相当长时间,就、应该在测试开始之前的相当长时间,就制定出测试计划。
制定出测试计划。
11)测试计划可以在需求模型一完成就开始)测试计划可以在需求模型一完成就开始22)详细的测试方案定义可以在设计模型被确定)详细的测试方案定义可以在设计模型被确定后立即开始后立即开始因此所有测试可以在任何代码被产生前就被计因此所有测试可以在任何代码被产生前就被计划和设计划和设计SoftwareEngineering20092009软件测试不等于程序测试软件测试不等于程序测试软件测试应贯穿于软件定义与开发的整个期间;软件测试应贯穿于软件定义与开发的整个期间;据美国一家公司统计,查出的软件错误中,属于据美国一家公司统计,查出的软件错误中,属于需求需求分析和软件设计的错误分析和软件设计的错误约占约占64%64%,属于程序编写的错,属于程序编写的错误仅占误仅占36%36%。
程序编写的许多错误是。
程序编写的许多错误是“先天的先天的”。
SoftwareEngineering200920093.pareto3.pareto原则:
测试发现的错误中原则:
测试发现的错误中80%80%很可很可能起源于能起源于20%20%的模块中。
的模块中。
所以关键是分离这些有疑点的模块并进行彻底所以关键是分离这些有疑点的模块并进行彻底的测试的测试4.4.测试应该从测试应该从“小规模小规模”开始,并逐步进开始,并逐步进行行“大规模大规模”测试。
测试。
最初测试的时候通常把焦点放在单个程序模块最初测试的时候通常把焦点放在单个程序模块上,进一步测试把焦点放在继承的模块上,最上,进一步测试把焦点放在继承的模块上,最后在整个系统中寻找错误后在整个系统中寻找错误SoftwareEngineering200920095.穷举测试是不可能的。
穷举测试是不可能的。
在测试中不可能运行路径的每一种组合,但是在测试中不可能运行路径的每一种组合,但是尽量的覆盖程序逻辑并确保使用程序设计中的尽量的覆盖程序逻辑并确保使用程序设计中的所有条件是可能的。
所有条件是可能的。
6.为了达到最佳的测试效果,应该由独立为了达到最佳的测试效果,应该由独立的第三方来从事测试工作。
的第三方来从事测试工作。
SoftwareEngineering20092009测试的步骤:
测试的步骤:
SoftwareEngineering20092009单元测试又称为模块测试,是最小单位的测试,其目的在于发现各模块内部可能存在的各种错误。
在单元测试活动中,各独立单元模块将在于系统的其它部分相隔离的情况下进行测试,单元测试集中对源代码实现的每一个程序单元进行测试,检查各模块是否正确实现了规定的功能。
多个模块可以并行进行单元测试。
SoftwareEngineering20092009单元测试的重要性:
单元测试的重要性:
1.负责的单元测试会发现很多Bug,并且修改它们的成本很低2.系统开发的后期,Bug地发现和修改会更加困难,时间和成本费用大3.修改Bug后要进行回归测试4.经过单元测试后,系统集成就会大大简化5.单元测试会使测试工作的效力发挥到最大化SoftwareEngineering20092009单元测试的内容:
单元测试的内容:
1.模块接口:
测试模块的数据流2.局部数据结构测试3.路径测试4.错误处理测试:
预见的出错的条件,并设置适当的出错处理对策5.边界测试:
循环的边界条件,运算和判断的最大最小值是否出错等SoftwareEngineering20092009集成测试在集成各个模块时有两种方式:
1.一次性集成方式:
首先对每个模块进行单元测试,然后将这些模块组装在一起进行测试,最终得到要求的软件系统2.增值式集成方式:
首先对每个模块进行单元测试,然后将其逐步组装成较大的系统,在组装过程中一边连接一边测试,已发现连接过程中产生的问题,最后组装成要求的软件系统。
3.增值式集成方式有三种实现方式:
自顶向下、自底向上和混合增值方式。
第六章第六章软件测试软件测试6.2.2集成测试集成测试SoftwareEngineering20092009确认测试也称为有效性测试。
基于需求规格说明书和用户信息,验证软件的功能和性能及其它特性。
确认测试的步骤:
1.进行有效性测试:
在模拟的环境下,应用黑盒测试方法,验证所测试的软件是否满足需求规格说明属列出的需求2.软件配置的复查3.测试和测试第六章第六章软件测试软件测试6.2.3确认测试确认测试SoftwareEngineering20092009系统测试把已经通过确认测试的软件,与计算机硬件、外设、某些支持软件、数据和人员等系统元素结合起来,进行组装和测试。
目的在于通过与系统需求定义作比较,发现软件与系统定义不符合或与其矛盾的地方.系统测试用理应根据需求规格说明书来设计,并在模拟环境下运行。
第六章第六章软件测试软件测试6.2.4系统测试系统测试SoftwareEngineering20092009验收测试以用户为主,由开发人员,测试人员,QA人员参加的测试SoftwareEngineering20092009软件测试的软件测试的策略和方法策略和方法静态静态测试方法测试方法动态动态测试方法测试方法人工测试方法人工测试方法计算机辅助静计算机辅助静态分析方法态分析方法白盒测试方法白盒测试方法黑盒测试方法黑盒测试方法测试方案第六章第六章软件测试软件测试6.3设计测试方案设计测试方案SoftwareEngineering20092009第六章第六章软件测试软件测试6.3设计测试方案设计测试方案白盒测试白盒测试把程序看成装在一个透明的白盒子里,也就是完全了解把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。
这种方法按照程序内部的逻辑测程序的结构和处理过程。
这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确试程序,检验程序中的每条通路是否都能按预定要求正确工作。
白盒测试又称为结构测试。
工作。
白盒测试又称为结构测试。
SoftwareEngineering20092009黑盒测试黑盒测试对于软件测试而言,黑盒测试法把程序看成一个黑盒对于软件测试而言,黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。
也就是子,完全不考虑程序的内部结构和处理过程。
也就是说,黑盒测试是在程序接口进行的测试,它只检查程说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息且保持外部信息(如,数据库或文件如,数据库或文件)的完整性。
黑盒的完整性。
黑盒测试又称为行为测试。
测试又称为行为测试。
第六章第六章软件测试软件测试6.3设计测试方案设计测试方案SoftwareEngineering20092009软件维护就是软件交付使用之后,在新版本产品升级之前这段时间里,软件厂商向客户提供的服务工作。
意义其宗旨就是提高客户对软件产品的满意度。
保持现有系统的价值第七章系统维护Softw
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 过程 质量保证 编测维