



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。产生软件危机的原因:1.软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。2.软件的一个显著特点是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。3.忽视软件需求分析的重要性,认为软件开发就是写程序并设法使之运行。4.只重视程序而忽视软件配置的其余成分。5.在软件开发的不同阶段进行修改需要付出的代价是不相同的。6.轻视软件维护。消除软件危机的途径:首先应该对计算机软件有一个正确的认识。其次,必须充分认识到软件开发不是某种个体劳动的神秘技巧。总之,为了消除软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。消除软件的危机的途径:首先对计算机软件有一个正确的认识其次,软件开发不是个体神秘劳动,而是组织协作,共同完成的工程项目再次,推广实践总结出成功方法和技术,探究更好地,消除早期的做法最后,开发和使用好的软件工具缺陷(fault)是错误的结果,更精确的说,缺陷是错误的表现。缺陷可能很难捕获。当程序执行时缺陷会导致失效(failure)。当出现失效时,就会发生事故(incident)。缺陷严重程度:包括致命(fatal)、严重(critical)、一般(major)、较小(minor)。缺陷产生可能性:包括总是、通常、有时、很少。缺陷优先级:包括立即解决、高优先级、正常排队、低优先级。缺陷来源:包括需求说明书、设计文档、系统集成接口、数据流(库)、程序代码。软件测试是软件质量保证的一个重要元素,它在软件开发活动中所占的时间和资源达到了40%85%。W模型与V模型相比:W模型可以说是V模型自然而然的发展,它强调:测试伴随着整个开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试过程的成熟度分为五个层次:第一层是初始级,第二层是定义级,第三层是集成级,第四层是管理和测量级,第五层是优化、预防缺陷和质量控制级。测试:在特定条件下,运行一个系统或构件并进行观测和记录,以评估系统或或构件的某些方面。测试用例 (test case):用来为一个测试项指定输入、预期结果和相关的运行条件可测试性:为一个系统或构件建立测试准则以及根据测试结果判断这些准则被满足的难易程度测试用例生成器:以源代码,测试准则、规约或数据定义作为输入,然后生成测试输入数据并确定预期的结果的软件工具。测试设计:针对一个软件特征或软件特征的组合,规定具体的测试方法,并给出相关的检验的方式的过程。测试文档:描述测试一个系统或构件的计划或结果,其类型包括测试用例规约,测试事件报告,测试日志,测试计划,测试步骤和测试报告等。测试事件报告:对测试期间发生并需要进一步调查的任何事件进行报告的文档测试项:被测对象的软件构件或模块测试日志:按时间顺序记录与测试执行相关的所有细节。测试阶段:软件开发生命周期中的一个时间段,在此期间对软件产品的组成构件进行评估和集成,并对软件产品进行评价以及确定是否满足有关需求。测试计划:对将要实施的测试活动的范围、方法、资源、和进展进行定义的文档,该文档应列出测试项,被测特征,测试任务,职责,所需资源以及任何可能发生并需要的临时规划的风险。可测试性:一个构件或系统是否可测将依赖于所处的环境,包括测试约束、构建用途、测试准则和测试工具等。软件测试的原则:1.测试必须有独立的部门实施。2.给测试分配最好的人员。3.测试工作的计划应以发现最多的错误为目标。4.无效、非预期的输入条件和有效条件都应该被测试。5.被测软件不应该在测试期间进行修改。6.测试报告应该包括测试用例和测试结果。7.应该明确预期的结果。8.应事先对测试进行计划。9.选择一组合适的测试方法。测试的特点:软件测试的主要目的是增强软件开发人员对软件正常运行的信心,其过程是从无穷的执行域中选择有穷的测试用例集来对程序行为进行动态验证。测试是通过运行软件以检测将会出现的故障的过程,它提供了一种对质量进行度量的途径。调试的特点:调试是在测试发现一个错误后消除错误的过程。尽管调试可以也应该是一个有序的过程,但是仍然有许多特别的技巧。调试过程从执行一个测试用例开始,直到得到执行结果并且发生了预期结果和实际结果不一致的情况。调试过程总会有以下两种结果之一:1.发现问题的原因并将其改正。2.未能发现问题的原因。调试的方法:1.蛮力法。2.回溯法。3.原因排除法。组件:图的组件是相连节点的最大集合。圈复杂度:图G的圈复杂度由V(G)=e-n+2p给出,其中:e是G中的边数,n是G中的节点数,p是G中的组件数。0连接:对有向图中的两个节点ni和nj,当且仅当ni和nj之间没有路径,称ni和nj是0连接的。1连接:对有向图中的两个节点ni和nj,当且仅当ni和nj之间有一条半路径但是没有路径,称ni和nj是1连接的。2连接:对有向图中的两个节点ni和nj,当且仅当ni和nj之间有一条路径,称ni和nj是2连接的。3连接:对有向图中的两个节点ni和nj,当且仅当ni和nj之间有一条路径,并且从ni到nj有一条路径,称ni和nj是3连接的。白盒测试:它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作判定节点:包含条件的节点称为判定节点。独立路径是任何贯穿程序的、至少引入一组新的处理语句或一个新的条件的路径。软件测试的主要任务是选择最小的测试用例集,并能足够有效地暴露程序中潜在的故障。变异测试 如果一个测试集能够区分变异体和原始程序,即产生了不同的执行结果,则称变异体被杀死;否则,则称该变异体为依然活跃的变异体。等价划分是一种黑盒测试技术,它将程序的输入划分为若干个数据类,从中声称测试用例。等价划分试图定义一个测试用例以期发现一类错误,由此减少所需设计测试用例的总数。将程序的输入划分为若干个数据类,从中生成测试用例。定义等价类的指导原则:(1)按区间划分(2) 按数值集合划分(3)按输入方式划分(4)按限制条件划分(5)按限制规则划分(6)细分等价类设计测试用例的步骤:(1)为每个等价类确定一个唯一编号(2)尽可能多的覆盖尚未被覆盖的有效等价类(3)仅覆盖一个还未覆盖的无效等价类边界值分析法:程序员经常在等价类的边界处犯错误,因此需要加强对这些边界的测试。该类型的测试称为边界值分析法。正交表测试法是从大量的数据(测试用例)中挑选适量的、有代表性的点(用例),从而合理地安排测试的一种科学测试设计方法。健壮边界值分析测试:边界值分析的一种扩展,除了变量的五个边界值分析取值,还要去一个略大于最大值,略小于最小值,看看超过极值时有什么反应。边界值分析优点; 1.极少的用例发现更多的错误 2.对边界值以及范围之外的情况进行测试 3.关注于异常处理 4.揭露编程中常见错误的最有效方法之一边界值分析缺点:1.关注点有限 2.当程序是几个相互独立变量的函数,且这些变量表示有界物理量时,该方法才有较好的效果。正交表测试:是从大量的数据(测试用例),中挑选适量的、有代表的点(用例),从而合理地安排数据分析的一种科学测试设计方法。决策表的组成:1.条件桩,2.动作桩,3.条件项,4.动作项,5.规则。决策表的建立步骤:1.确定规则的个数;2.列出所有的条件桩和动作桩;3.填入条件项;4.填入动作项;5.简化、合并相似规则。验证与确认验证:是指确保软件正确的实现某一功能的一系列活动确认:是指确保开发的软件课追溯到用户需求的另一系列活动验证:我们在正确地构造产品吗?确认:我们在构造正确的产品吗?走查 :类似于同行评审过程。参与者模拟计算机运行过程来生成少量的、用于人工跟踪的测试用例,其目的是质疑隐藏在源代码之后的逻辑和基本假设。成员:小组的角色包括领导者、记录人、被查产品的开发者、小组成员正式评审:两种类型:管理评审和技术评审。Fagan审查方法包括四种预定义的角色:协调者、记录人、审查人和被查产品的开发者。审查:审查过程是一个正式的技术活动,由被查产品开发者和一个同行小组根据某些资料来实施审查通常由五个阶段构成:总体规划、准备、审查、返工和追查。人工测试的缺点:1.迭代式的开发过程已经显示出了比瀑布式开发过程大得多的优势;2.随着软件开发过程的演进,测试工作变得越来越繁重,如果使用人工测试的方法,将很难保证测试工作的进度和质量。3.现代的GUI开发技术已经非常先进,它提供给开发人员快速开发的能力。自动化测试的优点:1.对新版本软件执行回归测试;2.更多更频繁的测试;3.替代困难的人工测试;4.具有一致性和可重复性;5.更好地利用资源。不适合自动化测试:定期性项目;短周期的项目;业务规则复杂的项目;美观、声音、易用性测试项目。适合自动化测试:产品型项目;增量式开发、持续集成项目;能够自动编译、自动发布的项目;回归测试项目;多次重复、机械性动作的项目;需要频繁运行测试的项目。单元测试侧重于软件设计的最小单元(软件构件或模块)的验证工作,利用构件集设计描述作为指南,测试重要的控制路径已发现模块内的错误。模块:单元测试的对象是软件设计的最小单位。单元测试的特点:1.它是一种验证行为;2.它是一种设计行为;3.它是一种编写文档的行为;它具有回归性。进入单元测试的条件:1.满足规定的文档要求;2.软件单元源程序已无错误的通过编译或汇编;3.被测软件单元已纳入配置管理中,并确定所提交的版本为本阶段最终版本;4.已具备了满足要求的测试环境和测试工具。单元测试的通过准则:1.功能与设计说明一致;2.性能达到软件设计指标;3.命名和编码符合规则;4.逻辑测试达到规定的覆盖率,若达不到规定指标,应在测试报告中给出合理解释;5.对发现的问题以进行修改并通过回归测试。单元测试的测试代码编写:(例子)测试函数中的一个测试用例如下:void CMyClassTester: Grow _int() CaseBegin(); int years = 1; p0bj-mAge = 8; p0bj-Grow(years); ASSERT(p0bj-mAge = 9); ASSERT(p0bj-mPhase = 儿童); CaseEnd();被测试的产品函数如下:void CMyClass:Grow(int years) mAge += years; if(mAge 10) mPhase = 儿童; else if(mAge 20) mPhase = 少年; else if(mAge 45) mPhase = 青年; else if(mAge 60) mPhase = 中年; else mPhase = 老年;集成测试是在假定各个软件单元已经通过了单元测试的前提下,检查各个软件单元之间的接口是否正确。集成测试的主要任务:1.将各模块连接起来,检查模块相互调用时,数据经过接口是否丢失;2.将各个自功能组合起来,检查能否达到与其要求的各项功能;3.一个模块的功能是否会对另一个模块的功能产生不利的影响;4.全局数据结构是否有问题,会不会被异常修改;5.单个模块的误差累积起来是否被放大,从而达到不可接受的程度。集成测试的策略:两种方法:一种方法是先分别测试每个模块,再将所有的模块按设计要求放在一起结合成所要的程序,这种方法称为非增量集成;另一种方法是将下一个要测试的模块同已经测试好的那些模块结合起来进行测试,测试完后将下一个应测试的模块结合起来进行测试,这种每次增加一个模块的方法称为增量集成。增量集成有三种选择:自顶向下集成、自底向上集成以及三明治集成。自顶向下测试的主要优点在于它可以自然的做到逐步求精,一开始就能让测试者看到系统的框架。主要缺点是需要提供桩模块,桩模块是对被调用子模块的模拟,可能不能反映真实情况,因此测试有可能不充分。自底向上测试的优点在于,低层模块给出了所有调用参数,即便数据流并未构成有向无环图,生成测试数据也没有困难。三明治集成测试采用自顶向下和自底向上集成相结合的方式,并采取持续集成的策略,有助于尽早发现缺陷,也有利于提高工作效率。系统测试是指将通过集成测试的软件系统,作为计算机系统的一个重要组成部分,与计算机硬件、外设、某些支撑软件的系统等其他系统元素组合在一起所进行的测试,目的在于通过与系统的需求定义做比较,发现软件与系统定义不符合或矛盾的地方。系统测试的主要内容:1.功能测试;2.压力测试;3.性能测试;4.恢复性测试;5.安全性测试。测试与测试:测试由最终用户在开发者的场所进行,测试在最终用户场所执行。压力测试是指模拟巨大的工作负荷一查看或评估应用程序在风之或超越最大负载使用的情况下如何执行操作。性能测试是通过模拟业务压力量和使用场景组合,测试系统的性能是否满足性能要求,即在特定的运行条件下验证系统的能力状况。安全性测试验证建立在系统内的保护机制是否能够实际保护系统不受非法入侵。系统的安全必须经受住正面的攻击,同时也必须能够经受住侧面和背后的攻击。软件测试工具分类:1.白盒测试工具:1.静态分析工具;2.动态分析工具2.黑河测试工具:1.功能测试工具;2.性能测试工具3.测试管理工具:TestDirector;TestManager;TestTrack;Bu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院安保考试题库及答案
- 保育师初级考试题库及答案
- 云客服考试题库及答案
- 抖音电商考试题库及答案
- 亲友房屋无偿赠与合同8篇
- 2025年贵州六盘水留置看护人员面试题及参考答案
- 2025年轨道交通地铁考试题库(附答案)
- 2025年广西专业技术人员继续教育公需科目创新与创业能力建设试题和答案
- 重庆职高语文高考试题及答案
- 康复科医院考试题及答案
- GB/T 10125-2021人造气氛腐蚀试验盐雾试验
- GB 7231-2003工业管道的基本识别色、识别符号和安全标识
- 医疗机构财政电子票据管理平台建设方案
- 吸附及吸附过程课件
- 食品安全主题班会课件
- 二年级奥数《走迷宫》
- 管道施工安全检查表
- 云南省雨露计划改革试点资金补助申请表
- 部编版七年级上册语文《雨的四季》课件(定稿;校级公开课)
- 项目试运行上线确认单模板
- 道德与法治-四年级(上册)-《我们班 他们班》教学课件
评论
0/150
提交评论