计算机来源

本文介绍了计算机软件的发展来源,包括图灵和冯诺依曼的贡献,以及C/S和B/S架构的特点与优缺点。重点讨论了软件开发模型,如瀑布模型、快速原型模型、螺旋型、V模型和W模型的特性、优点与缺点。此外,还概述了软件测试的不同类别,如单元测试、集成测试、系统测试和验收测试,以及各种测试的定义、目的和应用场景。
摘要由CSDN通过智能技术生成

计算机来源

计算机之父:图灵(图灵机,人工智能之父,图灵测试),冯诺依曼(冯诺依曼计算机体系:输入,输出,输出,计算,控制,存储)

C/S架构软件(Client/Server,客户端/服务器模式):桌面级应用 响应速度快,客户端需要安装专门的软件。比如QQ,微信。

C/S架构的优点:C/S架构的界面和操作可以很丰富(客户端操作界面可以随意排列,满足客户的需求),你们欢耍的英雄联盟就是典型的C/S架构,界面样式丰富。

本地响应速度快,在硬件和网络环境不好的情况下用C/S能提高效率(其实是降低用户愤怒值)

缺点:用户群固定。由于程序安装才可以使用,因此不适合面向一些不可知的用户,维护成本高,发生一次升级,则所有客户端的程序都需要改变,开发兼容性不高,在window下的cls软件,Linux,下就永不了,开发方式不同。

B/S架构软件:(Browser/Server,浏览器/服务器模式)web可实现跨平台,比如百度,实验楼。

B/S架构的优点:客户端无需安装,只有web浏览器即可,

B/S架构可以直接放在广域网上,通过一定的权限控制实现多客户的访问,交互性强

无需升级多个客户端,升级服务器即可,可以随时更新版本,无需用户下载

缺点:在速度和安全性上需要花费巨大的成本设计,而且需要刷新页面,在浏览器历史版本的兼容问题不是很好,原始IE浏览器不太兼容以及新的web服务。

客户端:用户安装的软件;

服务端:统一管理数据库的主机中的软件就叫做服务端,再后来服务端不只是管理数据,外加处理业务逻辑。

瀑布模型

特点:每个阶段只执行一次,

优点:开发的每个阶段比较清晰,当前一阶段完成后,才开始要去关注后续阶段,避免后期大量返工的现象,还可以减少后期维护工作的人力和费用

缺点:不适应需求的变化,风险往往在后期显露。

在这里插入图片描述

快速原型模型

在开发真实系统前,构造一个原型,在这个原型的基础上,逐渐完成整个开发的工作

优点:克服瀑布模型的缺点,减少由于软件需求不明确带来的风险。快速构建软件的原型,支持用户参与

缺点:不适合大型的系统的开发(适合小型的,灵活性高的系统)
在这里插入图片描述

螺旋型

螺旋模型的特点:引进风险分析活动

优点:很大程度是一种风险驱动的方法体系

缺点:采用螺旋型需要具有相当丰富的风险评估和专门知识。

在这里插入图片描述

v模型

介绍:v模型是最具有代表意义的测试模型,最早是由Paul Rook在20世纪80年代后期提出的,由英国国家计算机中新,提出改进软件开发的效率和效果;

v模型本身软件开发中瀑布模型的变种,它反映了测试活动与分析和设计的关系

v模型标明了测试过程中本身存在的不同阶段,从左往右,描述了在开发过程和测试过程间的阶段对应关系。

优点:v测试v模型包含了底层测试又包含高层测试

缺点:当需求变更(变化)时将会导致返回工作量非常大,模型灵活性比较低。

示意图如下:

在这里插入图片描述

w模型

w模型介绍:测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试。

优点:(1)强调测试伴随整个软件开发的周期,而且测试的对象不仅仅是程序,还包括需求和设计。

(2)更早的介入测试,能尽早得发现缺陷进行修复。

缺点:对于测试技术要就比较高,实践起来比较困难。

示意图如下:

在这里插入图片描述

测试的分类与理解

按测试阶段划分为:单元测试,集成测试,系统测试,验收测试。

按是否覆盖源代码分为:黑盒测试,白盒测试,灰盒测试。

按是否运行分为:静态测试盒动态测试。

按是是否自动化分为:人工测试和自动化测试。

按其他分为:冒烟测试,回归测试,随机测试,探索测试。

单元测试:单元测试是对软件中的最小可验证单元进行检查和验证。比如对Java中的类和方法的测试。

单元测试的好处:
1、尽早的发现缺陷;
2、利于重构;
3、简化集成;
4、文档;
5、用于设计。

单元测试的不足:
1、不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误;
2、每行代码需要3~5行代码进行单元测试,存在投入与产出的平衡。

集成测试:集成测试是在单元测试的基础上,把软件单元按照软件概要设计规格说明的规格要求,组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求。

集成测试包括BigBang、自顶向下、自底向上、核心系统集成、高频集成。

系统测试 :将经过集成测试的软件,作为计算机系统的一部分,与系统中其他部分结合起来,在实际运行环境下进行一系列严格有效的测试,以发现软件潜在的问题,保证系统的正常运行。

集成测试和系统测试之间的比较:
1、测试内容:集成测试是测试各个单元模块之间的接口,系统测试是测试整个系统的功能和性能;
2、测试角度:集成测试偏重于技术的角度进行测试,系统测试是偏重于业务的角度进行测试。

测试的目的:尽可能多的发现缺陷,比如功能的错误,性能低下,易用性差。

测试的思路:先假设程序存在什么缺陷,然后执行程序来发现缺陷。

测试类型:白盒测试,黑盒测试。

白盒测试:看得见的程序内部结构,测试源程序的逻辑结构和实现细节。白盒测试必须由开发人员独立执行,因为测试人员无法理解代码内部逻辑。
(指的是把盒子打开,去研究里面的源代码和程序结构)

黑盒测试:看不见的程序内部结构。

如:测试一个模块时,白盒测试:要对所有代码进行单步跟踪测试,关注的是程序的内部细节。黑盒测试:只需测试模块的接口是否要求,关注的是程序的外部实现。

冒烟测试:冒烟测试就是对系统进行最基本功能的测试,保证基本的功能和流程能走通(看整体的功能是否可以运行)。

回归测试:当修复一个BUG后,把之前的测试用例在新的代码下进行再次测试

冒烟测试发生在代码开发完成以后,会首先进行冒烟测试,当bug修改完成以后会进行回归测试,判断修改是否正确(对之前的测过的功能再进行一次测试)。

验收测试 :在软件产品完成了功能测试和系统测试之后、产品发布之前所进行的测试活动。它是技术测试的最后一个阶段,也称为交付测试。

Easy:
***什么是黑盒测试、白盒测试和灰盒测试?

黑盒测试, 又称数据驱动测试,完全不考虑程序内部结构和内部特性,注重于测试软件的功能需求,只关心软件的输入数据和 输出数据。

白盒测试, 指的是把盒子打开,去研究里面的源代码和程序结构。

灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,不仅关注输出、输入的正确性,同时也关注程序内部的情况。

***什么是冒烟测试和回归测试

冒烟测试: 冒烟测试就是对系统进行最基本功能的测试,保证基本的功能和流程能走通
回归测试: 当修复一个BUG后,把之前的测试用例在新的代码下进行再次测试,冒烟测试发生在代码开发完成以后,会首先进行冒烟测试
当bug修改完成以后会进行回归测试,判断修改是否正确

软件质量的6大标准

功能性

  • 可靠性
  • 易用性
  • 效率
  • 可维护性
  • 可移植性

公司的一个工作流程,以及测试人员的介入时机

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十年丿之后

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值