by zetazero 2024.11.19
黑盒测试,黑盒测试又称为功能测试/数据驱动测试
黑盒测试是将测试对象看做一个黑盒,在并不考虑软件产品的内部结构和处理过程的基础上 只依据程序的需求规格说明书 对软件产品进行功能测试。黑盒测试注重软件产品的功能性需求
运用黑盒技术设计测试用例常用的方法有:
① 等价类划分
② 边界值分析
③ 分析法
④ 错误推断法 等
黑盒测试可以发现以下类型错误:
白盒测试又称结构测试/透明盒测试/逻辑驱动测试/基于代码的测试
白盒测试时对软件的过程性细节作细致的检查 这一方法是对测试对象看作一个打开的盒子 他允许测试人员利用程序内部的逻辑结构及有关信息 设计或选择测试用例 对程序的所有逻辑路径进行测试
利用白盒测试方法导出 的测试用例:
①保证一个模块中的所有路径至少被执行一次
②对所有的逻辑判定均需测试取真和取假两方面
③在上下边界及可操作的范围内执行所有循环;据结构以确保其有效性
白盒测试方法:(强度由低到高)
语句覆盖
判定覆盖
条件覆盖
判定条件覆盖
条件组合覆盖
路径覆盖
黑盒测试与白盒测试的区别:
最适合采用增量模型
敏捷开发方法以原型开发思想为基础,采用迭代增量式开发,发行版本小型化,比较适合需求变化较大或者开发前期对需求不是很清晰的项目
敏捷团队:小型的并充满动力的项目团队
极限编程是敏捷软件开发使用最广泛的一个方法 XP(极限编程)的四大核心价值观是:沟通、简单、反馈、勇气
环复杂性:V(G)=边数-结点数+2 = 路径数量
路径是贯穿程序的且引入新边
数据流图的类型有:变换型 事务型
每个加工至少有一个输入数据流和一个输出数据流。
在整套分层数据流图中,每个数据存储应至少有一个加工对其进行读操作。另一个加工对其进行写操作,对于某一张DFD来说,可以只写不读或只读不写。
分层数据流图中,每个数据流和文件都必须命名 名字反应整个对象 而不是部分;避免使用空洞、含义不清的名字
数据流:名词或形容词+名词;
加工:动词或动宾
数据存储:名词
外部实体:可以用实际的人或组织的名称来命名
定义:瀑布模型又称为经典生命周期,它提出了一个系统的、顺序的软件开发方法,从用户需求规格说明开始,通过策划、建模、构建和部署的过程,最终提供完整的软件支持
优点:
缺点:
增量模型就是经历n个增量(每个增量都包含 沟通 策划 建模 构建 部署) 每做完一个增量就交付一次产品
需求不断变化
原型开发:只定义基本任务 没有详细定理功能和特性需求
定义:螺旋模型是一种风险驱动型的过程模型生成器 对于软件集中的系统 它可以指导多个利益相关者的协同工作
只适用大型软件
螺旋模型是的模型。它兼顾了的迭代的特征以及的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。
优势:1.结合了原型的迭代性质和瀑布模型的系统性和可控性的特点
2.强调风险
3.强调阶段质量
4.提供纠错的机会
5.提供原型作为风险降低机制
6.进一步使开发人员能够在产品演变的任何阶段应用原型方法
缺点:1.每个阶段都要提出备选方案 进行风险分析 研发周期长 效率低 2.必须要专业的风险分析人员的参与 3.如果没有发现和管理重大风险 问题无疑将会发生
允许在需求分析阶段对软件的需求进行初步而非完全的分析和定义 快速设计开发出软件系统的原型 该原型向用户展示待开发软件的全部或部分功能和性能
适用场景:适用于小型和中等规模的交互式系统、大型系统的某些部分,例如用户界面、生命周期短的系统
优点:1.有助于满足用户的真实需求
2.原型系统已经通过与用户的交互而得到验证 据此产生的规格说明文档能够正确的描述用户需求
3.软件产品的开发基本上是按线性顺序进行
4.缩短了开发周期 节约开发成本
缺点:1.为了尽快完成软件 开发者没有考虑整体软件质量和长期的可维护性
2.为了使一个原型快速运行起来 往往在实现过程中采用折中的手段
类图
类图中常见的关系:
1.泛化
2.实现
3.关联
4.聚合
5.组合
6.依赖
用例图
用例图中包含以下三种关系:
包含关系使用符号<>,基本用例虚线指向包含用例。
扩展关系使用符号<>,扩展用例虚线指向基础用例。
泛化关系,子用例继承父用例所有结构、行为和关系。子用例实现箭头指向父用例。
用例规约
定义:是用于描述用例的详细行为和功能的文档,它是用例图的补充
用例名称:指明用例的名称和标识符,用于标示该用例。
参与者:列出参与该用例的外部角色,如用户、系统或其他实体。
前置条件:描述执行该用例前需要满足的条件或状态。
主事件流:该操作成功情况下系统所做的事情
辅事件流:操作不成功情况系统做的事情
时序图/顺序图
泳道图
泳道图按角色划分为一个个泳道,每个角色的活动散落在各个角色对应的泳道里。泳道图是将模型中的活动按照职责组织起来。这种分配可以通过将活动组织成用线分开的不同区域来表示。由于它们的外观的缘故,这些区域被称作泳道。
1.首先构成相似现实对象的类;2.明确此类应该知道或者应该做的职责;3.找出在此类实现职责过程中产生相互作用的其他类作为协作者。
定义:程序或计算系统的软件体系结构是指系统的一个或者多个结构 它包括软件构件,构件的外部可见属性以及它们之间的相互关系
体系结构需考虑要素:经济性 易见性 隔离性 对称性 应急性
界面设计的三条黄金规则:
目的:可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
实质:可行性研究的实质就是要进行一次压缩、简化了的系统分析和设计的过程。
可行性研究需要的时间长短取决于系统的规模,可行性研究的成本只是预期工程总成本的5-10%
什么是需求
需求工程包括七项任务:起始 获取 细化 协商 规格说明 确认 和 管理
需求建模的两种方法:结构化分析方法 面向对象分析
功能需求和非功能需求
约束性需求(非功能性需求)
质量需求
需求评审程序员和销售人员不必参加
软件需求分析阶段的任务是什么
软件需求分析阶段的任务是:1.通过对问题及环境的理解 分析 2.将⽤户需求精确化 完全化 最终形成需求规格说明 3.描述系统信息 功能和⾏为
偶然内聚性的内聚程度最低
为了提高模块的性,模块内部最好是 功能内聚
偶然内聚性:模块内的各个元素之间没有任何关系,仅仅是偶然放在一起,内聚程度最低
过程内聚:模块内的各个成分通过执行一系列相关操作来完成一个具体任务
功能内聚:模块内的各个成分共同完成一个单一的功能
时间内聚:1.时间内聚⼜称为经典内聚
2.模块内的各个成分在时间上相关,通常是指在同一个时间点或时间段内执行的多个操作
逻辑内聚:模块内的各个成分通过某种逻辑关系联系在一起
通信内聚:模块内的元素通过操作同一个数据而联系在一起
顺序内聚:模块内的元素之间存在顺序关系,一个元素的输出是另一个元素的输入
简述:1.CMM 是⽤于衡量软件过程能⼒的事实上的标准 同时也是⽬前软件过程改进最好的参考标准
2.CMM把企业控制软件过程的能⼒分五级 初始级 重复级 已定义级 已管理级和优化级
简述:1.基线标志软件开发过程的各个⾥程碑任⼀SCI⼀旦形成⽂档并复审通过 即成为⼀个基线 它标志开发过程中⼀个阶段的结束
2.对于已成为基线的SCI 虽然可以修改 但必须按照⼀个特殊的 正式的过程进⾏评估 确认每⼀处修改
面向功能的度量主要是通过衡量软件系统的功能来评估其复杂性、效率、质量等特征。面向功能的度量着重于软件提供的功能和这些功能所需要的资源或成本,它强调软件的功能性而非其代码结构或实现技术
优点:1.与程序设计语⾔⽆关
2.功能点度能⽤于软件项⽬的开发初期
缺点:1.它涉及到的主观因素⽐较多 如各种权函数的取值
2.信息领域中的某些数据有时不容易采集
3.FP 的值没有直观的物理意义
软件定义时期
软件开发时期
软件运行维护时期
简述:1.数据字典 实体-关系图 数据流图和状态迁移图及相关描述说明
2.实体-关系图用于数据建模 数据流图用于功能建模 状态迁移图用于行为建模
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务