软件测试培训之软件工程要点

网友投稿 689 2022-11-10

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

软件测试培训之软件工程要点

1、定义:软件包含 程序、数据和文档

(1)当运行时,能够提供能够提供所要求功能和性能的指令或计算机程序集合;

(2)改程序能够具有满意的处理信息的数据结构;

(3)描述程序功能需求以及程序如何操作和使用所要求的文档。

2、特性:

(1)软件是一种逻辑实体,具有抽象性

(2)软件没有明显的制作过程

(3)软件在使用过程中没有磨损、老化的问题,但有退化问题

(4)软件对硬件和环境有着不同程度的依赖性

(5)软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低

(6)软件是复杂的,而且以后会更加复杂

(7)软件的成本相当昂贵

(8)软件工作牵涉很多社会因素

二、软件危机的定义,产生原因及消除方法

1、定义:

落后的软件生产维护方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。概括地说主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有的软件。

2、产生原因:

(1)主要原因是对用户的需求不明确;

(2)缺乏正确的理论指导;

(3)软件开发规模越来越大;

(4)软件开发复杂程度越来越高。

3、消除方法:主要是 组织管理 + 技术措施

①应当对软件有个正确的认识(程序+数据+文档);

②在软件开发过程中学会研制和使用软件工具,用来辅助进行软件项目管理和技术生产;

③必须充分认识到软件开发应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。

三、软件工程的定义,三要素,目标,方法及原则

1、定义:软件工程是一门研究如何系统化、规范化、数量化等工程原则和方法去进行软件开发和维护的学科。

2、三要素:方法、工具和过程。

3、目标:生产具有正确性、可用性、开销适宜、进度保证并且项目成功的软件产品。

4、方法:项目计划与估算 → 软件系统需求分析 → 数据结构 → 系统总体结构的设计 → 算法过程的设计 → 编码 → 测试

5、原则:

①采取适宜的开发模型,用以控制易变的需求;

②采用合适的设计方法,支持软件的模块化、抽象化等设计要求;

③提供高质量的工程支持;

④重视开发过程的管理。

四、软件生命周期的定义、阶段、模型 以及 敏捷开发

1、定义:同任何事物一样,软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(又称软件生命周期),是指软件开发和测试全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。

2、阶段: ①可行性分析和开发项目计划; ②需求分析; ③设计(概要设计和详细设计); ④编码; ⑤测试; ⑥维护。

3、模型: ①瀑布模型 ②迭代式模型 ③快速原型模型 ④增量模型 ⑤螺旋模型 ⑥V模型

4、敏捷开发:敏捷开发是一种以人为核心、迭代、循序渐进的开发方法;核心思想是:测试驱动开发,测试与开发并行;常用方法有:XP(策划、设计、编码、测试。)

五、软件体系结构

1、软件体系结构大体上分为主机终端模式、文件服务器模式、C/S模式和B/S模式。

2、C/S结构 : (Client/Server)

(1)C/S结构的节本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,克服终端/主机结构中主机负担过重、用户界面不友好等缺点。

(2)C/S系统由3个基本部分组成:客户机、服务器和中间件。

(3)C/S体系结构的技术特点 :C/S根据服务的观点对功能进行明确划分,共享资源,不对称协议,定位透明性,基于消息的交换,可扩展性。

3、B/S结构 : (Browser/Server)浏览器/服务器模式

(1)B/S模式是指在TCP/IP协议簇的支持下,以HTTP为传输协议,客户端通过Browser访问Web服务器以及与之相连的后台数据库的技术及体系结构。

(2)B/S结构由客户端、应用服务器和数据层(数据库系统和遗留系统)组成。

(3)B/S结构的优势在于: 简化了客户端;简化了系统的开发与维护;用户操作变得更简单;适用于网上信息发布。

六、应用生命周期管理(ALM)

1、应用生命周期管理(ALM)主要应用于整个应用生命周期中管理跨项目的应用发布: ①项目计划和跟踪;②跨项目报告;③资产共享和重用;④流程标准化;⑤缺陷共享;⑥无限的高可用服务器。

2、这样带来的好处有: ①对于跨项目的计划,项目跟踪,趋势和实时应用状态提高可见性;②集中管理,保证一致的流程和规范,减少成本;③减少重复工作,共享最佳实践,降低成本,提高效率。

上一篇:软件测试培训之测试的定义,目的,原则
下一篇:软件测试培训之测试常用术语
相关文章

 发表评论

暂时没有评论,来抢沙发吧~