目录

一、初识软件测试

1.1 测试软件的类型

1.2 软件测试的流程

1.3 测试类型

二、软件测试和测试环境

2.1 软件的分类

2.2 软件测试和测试环境

三、微型计算机的组成

3.1 虚拟内存的 含义和作用

3.2  微型计算机的组成

3.3 计算机系统的组成

四、网络基础知识

4.1 计算机网络概念与分类

4.2  计算机网络体系结构

4.3 IP 地址

4.4 子网掩码

4.5 设置和测试系统网络参数


一、初识软件测试

软件 = 程序(Java、PHP...) + 数据(使用文件或者数据库来存储数据) + 文档(安装说明、帮助文档...)

1.1 测试软件的类型

单机版:即只需一台电脑该软件就可以正常使用,因此测试的时候可能只需要一台电脑进行测试即可

C/S:客户端服务器软件,至少要有两台及以上的计算机参与才能使用该软件。例如使用的QQ,至少得有一个计算机做服务器,里面可能装数据库或者是其他的一些、如果你想使用该软件那么你的计算机上也需要安装QQ,然后用你的计算机去连接同一个公司的计算机

B/S:浏览器服务端软件,主要就是我们常使用的网站

软件测试:其实就是通过各种手段或技术去检测这个软件有没有问题,去发现缺陷,看这个是不是符合用户的需求等,从而提高软件的质量和改进软件的开发

软件缺陷:不满足用户需求的问题就是软件缺陷


1.2 软件测试的流程

  1. 编写测试计划。比如测试一个软件的周期大概是多长、测试的人员大概有哪些、需要测试哪些、不需要测试哪些等
  2. 分析测试需求。这里可能包括很多,比如从开发人员那里获取的文档、用户提供的一些文档以及测试经理提供的文档等,通过这些文档去了解用户真正的需求是什么
  3. 设计和编写测试用例。根据需求来列举一些案例,比如测登录部分我有哪些方法可以进行测试,例如我可以输账号正确的也可以输账号错误的等
  4. 搭建测试环境。例如需要安装哪些操作系统,linux还是windows甚至是其他的一些,操作系统里面需要安装哪些软件等
  5. 执行测试用例,提交测试报告以及跟踪缺陷报告。根据所写的用例进行操作,发现问题后反馈给开发人员进行修改,在开发人员修改后需要再次进行测试即跟踪缺陷
  6. 测试评估和总结。在以上流程都完成后,可能需要考虑以上的测试够不够,还需不需要从增加一些测试以及在整个测试过程中发现了多少缺陷,解决了多少、哪些是必须要解决的,哪些是暂时可能不需要解决的、总共写了多少测试用例,满不满足需求等

1.3 测试类型

  • 黑盒测试:主要依据规格说明书对软件的功能进行测试,只关注输入和输出。比如将一条鱼的鱼鳞去掉,黑盒测试并不会去关心怎么去的,只会关心最后是不是将鱼鳞去掉了
  • 白盒测试:主要对程序结构进行测试(比如:if/else/while/switch...),它关注的主要就是去鱼鳞的过程,例如采用什么方式是手工还是机器,去鱼鳞的时候鱼是不是很痛苦等
  • 单元测试:对程序中最小部分的单元代码进行测试,例如测试代码里面的一个防抖或者节流的方法等
  • 集成测试:对程序不同单元、模块或子系统合并后进行测试,如果每个最小的部分都测试了没有问题了,那么此时就会将这些小零件几个或者多个组合起来,看看有没有问题
  • 系统测试:对整个软件系统进行测试,会涉及功能(软件可以做什么)、性能(比如发送消息后对方在几秒内可以收到)、接口(软件里面不同部分在一起使用的时候有没有问题)、兼容性(软件在不同的硬件环境下有没有问题,比如在台式机上安装有没有问题)、易用性(软件是否好用)、界面(软件是否好看、美观)以及安装(软件的安装和卸载是否方便等)等方面的测试
  • 验收测试:一般由用户和第三方对系统进行测试,看该系统、该软件是否满足需求
  • 回归测试:软件或系统缺陷修复以后或者是版本升级之后再进行测试
  • ......

测试用例:指定操作步骤、输入数据、预期结果和测试条件的文档


二、软件测试和测试环境

2.1 软件的分类

按功能用途分:

系统软件
 操作系统:Unix、DOS、Windows、Linux 等。
 驱动程序:显卡、网卡驱动等


支持软件
 界面工具:X Window 等。
 开发工具软件:Visual Studio、JBuilder、Eclipse 等。
 数据库管理系统:SQL Server、Oracle、MySQL 等。
应用软件
 QQ、游戏、各类网站、搜狗输入法等。

 

 按架构分:

单机软件:
 蜘蛛扑克、扫雷等


分布式软件:(重点)

 C/S 软件(架构)

  • Client/Server,客户端/服务器
  • 需要安装用户应用程序,服务端负责处理数据,客户端负责与用户交互
  • 特点是有专用客户端。
  • 如 QQ、微信等。
  • 优点:可充分发挥客户端处理能力,服务器负荷较轻
  • 缺点:用户必须安装对应的应用程序,服务器负荷较轻,应用程序需要适配不同的设备

 B/S 软件(架构)

  • Browser/Server,浏览器/服务器
  • 特点是使用通用客户端。
  • 无需安装特定的应用程序,浏览器即为统一客户端,几乎所有的逻辑处理和交互都有服务器完成
  • 如网上银行、论坛、网页游戏等
  • 优点:维护和升级的方式更简单;成本低
  • 缺点:服务器负荷较重

软件的生命周期(重点):

通俗来讲就是一个软件从定义、开发直到被淘汰下线的过程

大致需要经历如下几个步骤:

  1. 市场调研:市场调查、需求收集
  2. 可行性分析:根据公司能力和需求实现后能够带来的收益进行分析
  3. 需求开发:明确详细的需求,形成软件需求规格说明书(是开发和测试的依据)
  4. 设计:UI设计、模块设计、架构的选型等
  5. 编码:用代码去实现
  6. 测试:验证软件的功能是否完善且正确等
  7. 上线运营:发布上线、运营、维护
  8. 下线废弃

2.2 软件测试和测试环境

软件测试:在现有的软件中查找隐含的缺陷(Bug)或错误的过程,目的就是发现软件当
中的缺陷或错误

测试环境:运行软件必须具备的各种软件和硬件的集合

i. 数据的形式与数制:

冯 · 诺依曼体系结构:
计算机由五大部件构成,
 运算器、控制器、存储器、输入、输出设备


采用二进制存储数据和代码,
 计算机中采用开关来分别代替 1 和 0。
 程序判定数据的存储位置,判定二进制是代码还是数据
计算机的内存采用线性的一维方式寻址,
 字节:1B=8bits
 1KB=1024B、MB、GB、TB
 生活中 1KB=1000B

ii. 数据的形式:
文字、数值、图片、声音、影像等。

 

iii. 数据怎么存储:

所有数据都必须能够通过某种方式转换为二进制,然后才能存入计算机

计算机中的数制,
 二进制:数字后加 B,如 10010B。
 八进制:数字后加 O,如 123O。
 十进制:数后加 D 或不加,如 10D 或 10。
 十六进制:数字后加 H,如 2A5EH。

数值数据的存储,

把数据存入计算机,需要把数据转换为二进制。不同数据的二进制转换方法不同

十进制→二进制:
十进制数除以 2,倒排余数。
十进制转其他进制,做法一致,变几进制就除以几。

二进制→十进制,

字符串的存储,

文字,
 计算机中称为字符串。
 使用国际编码规则将字符变成整数,然后变成二进制。
英文字符,
 ASCII(American Standard Code for Information Interchange,美国信息交换标准
代码)
 占内存 1B
 如字母 A 的 ASCII 是 65
 常用 ASCII 码

英文外的国际字符,
 Unicode(统一码、万国码、单一码)
 占内存 2B
 如汉字“人”的 unicode 码是 20154


三、微型计算机的组成

3.1 虚拟内存的 含义和作用

计算机中所运行的程序均需经由内存执行,若执行的程序占用内存很大或很多,则会导
致内存消耗殆尽。为解决该问题,Windows 中运用了虚拟内存技术,即匀出一部分硬盘空间
来充当内存使用,也称为页面文件。
虚拟内存在硬盘上其实就是一个文件,文件名是 PageFile.Sys,通常状态下是看不到的

设置 IP 地址:


3.2  微型计算机的组成

第一台电子计算机的诞生:ENIAC(电子数字积分计算机)安尼亚克

特点:

占地面积大、耗电量大

运算速度为每秒 5000 次加法,比机械式的继电器计算机快 1000 倍

使用纸带存储程序和数据

使用机器语言编程(程序自给自足)

计算机的发展历程:

第一代电子管计算机

第二代晶体管计算机:出现了操作系统、硬盘和语言

第三代中小规模集成电路计算机:操作系统完善、运算速度极大提高、Unix操作系统诞生、电子元件结合在一片芯片上、软件危机产生,同时软件工程诞生和软件测试开始萌芽

第四代大规模、超大规模集成计算机:具有高速运算能力、软件测试概念诞生、Windows1.0问世

计算机工作原理:

计算机是根据用户的命令来工作的,用户的命令一般通过程序来下达

指令:用来指挥硬件动作的基本命令,是包含了操作码和操作数的一串二进制编码

程序:为解决某问题的一系列有序的指令集合

软件:程序、数据及其相应的文档说明

没有安装任何软件的计算机称之为裸机


3.3 计算机系统的组成

 计算机的硬件系统:

冯• • 诺依曼模式:通用计算机由运算器、控制器、存储器、输入设备和输出设备等组成

i. 中央处理器

CPU,主要由运算器、控制器等组成

CPU 的性能指标:

  • 主频:时钟频率,常见 2-3GHz
  • 外频:主板的时钟频率,常见 533-1066MHz,高者可提高系统的数据传输速度
  • 高速缓冲存储器 cache:提高读取速度
  • 同步数据处理能力:32 位、64 位

ii. 存储器

只读存储器 ROM,如 BIOS

随机存储器 RAM,目前主流 DDR,目前一般为 1GB~8GB

外部存储器,软盘:3.5 英寸,1.44M,容量太小,盘片易损坏、硬盘:目前 500GB~1TB,有高达 3TB、U 盘、光盘

iii. 输入设备

鼠标

键盘

扫描仪

...

iv. 输出设备

打印机

显示器


四、网络基础知识

4.1 计算机网络概念与分类

计算机网络:在网络协议的控制下,通过通信设备和线路将分布在不同地理位置,且具有独立功能的多个计算机系统连接起来,通过网络操作系统等网络软件实现通信和资源共享的系统

特点:

  • 计算机网络中至少拥有两台以上的计算机
  • 传输媒体和通信设备把若干台计算机连接到了一起
  • 为需要网络软件,含操作系统
  • 为了正确地通信,需要有一个共同遵守的约定——通信协议
  • 把多台计算机连接在一起,形成一个网络,是为了通信和资源共享

计算机网络的发展史:

第一代计算机网络:面向终端的远程联机系统,此时并不是真正的网络而只是网络的雏形,该网络中只有一台真正的计算机其余的都是终端

第二代计算机网络:ARPANTE-计算机网络,真正的计算机网络,可以存储转发以及分组,但要求计算机是同构的即配置完全一样

  • 1964 年,Baran 提出存储转发概念

第三代计算机网络:开放式标准化网络即只要符合ISO协议的就可以连网

第四代计算机网络:新一代网络

计算机网络的分类:

根据覆盖地理范围划分,

  • 局域网 LAN:方圆几千米以内
  • 城域网 MAN
  • 广域网 WAN:几十千米到几百千米
  • Internet 因特网

4.2  计算机网络体系结构

i. 网络结构的分层设计

为了降低网络设计的复杂性,将网络进行了分层设计。每一层只关心自己层的设计

 ii. 协议

为了使数据可以在网络上从源传递到目的地,网络上所有设备需要“讲”相同的“语言”,描述网络通信中“语言”规范的一组规则就是协议

协议是指网络中的计算机在通信时对传送信息的理解、信息表示的形式及各种应答信号所应遵循的共同约定

iii. 网络体系结构/网络模型

ISO/OSI模型只是理论上的,实际中用得最多的还是TCP/IP模型

ISO/OSI 模型分为 7层,

数据封装,

 iv. 各层工作的物理设备

物理层

  • 网卡
  • 集线器

数据链路层

  • 交换机

网络层

  • 路由器

传输层

  • 防火墙

应用层

  • 服务器

 v. TCP/IP 模型

实际应用中,完全遵从 OSI 参考模型的协议几乎没有

最早在 ARPANET 上实现,目的在于解决异构系统的通信问题

IP 协议:

网际协议/网络协议/互联网协议

ICMP 协议:

互联网控制报文协议,主要用于侦测远端主机是否存在、建立及维护路由资料、重导资料传送路径、资料流量控制

ARP 协议:

地址解析协议,用于将 IP 地址转换为 MAC 地址

UDP 与 TCP 协议:

二者都属于传输层协议

TCP 的连接:三次握手

应用层协议:

端口:

端口号用来标识同一时间内通过网络的不同连接

C:\windows\system32\drivers\etc\services


4.3 IP 地址

用于标识网络中的一个通信实体(计算机,设备等)的数字编号

IP 地址的特点:

二进制形式共 32 位,每个 IP 地址被分成四组,每组 8 位二进制数

 IP 地址的分类:

分为 5 个不同的地址类别,其中 A、B、C 三类最为常用,D 类地址用作组播,E 类地
址保留未用

 特殊 IP 地址:

也称为专用 IP 地址、保留地址,只限内网使用,也不会出现于公网


4.4 子网掩码

共 32 位二进制,由连续的“1”和连续的“0”组成,左边向右全是 1,右边向左全是 0

 子网掩码的应用:

用来表征 IP 地址所处的网络位置,进而用于判断下列两台主机间能否连通


4.5 设置和测试系统网络参数

设置 TCP/IP 参数:

检查 TCP/IP 设置是否正确:

软件测试的背景和前期准备相关推荐

  1. 软件测试综述之软件测试的背景、实质、软件开发的过程

    1.软件测试的背景 1.缺陷是什么(缺陷的官方定义) 产品说明书:对开发的产品进行定义,给出产品的细节.如何做.做什么.不做什么. 只有至少满足下列5个规则之一才称发生了一个软件缺陷: 软件未实现产品 ...

  2. 软件测试学习:软件测试的背景

    -------------------------文章是基于Ron Patton 的<软件测试>----------------------------- 一.著名的软件错误用例 1.迪士 ...

  3. P背景软件测试,软件测试的背景和发展

    软件测试的发展历史 .. 20世纪60年代(软件工程建立前),为表明程序正确而进行测试. .. 1972年在北卡罗来纳大学举行了首届软件测试正式会议. .. 1975年John Good Enough ...

  4. 软件测试笔记-软件测试的背景

    早期软件开发过程中将测试等同于调试(debug),目的是纠正软件中已经知道的故障,通常由开发人员自己完成这部分的工作,常常是等到形成代码产品已经基本完成时才进行测试. 直到1957年,软件测试区别于调 ...

  5. 软件测试(原书第2版中文)PDF版

    下载地址:网盘下载 内容简介  · · · · · · 软件测试(原书第2版),ISBN:9787111185260,作者:(美)佩腾(Patton,R.) 著,张小松 等译:张小松译 作者简介  · ...

  6. 想自学软件测试?这本《软件测试》,入门必看

    软件测试的经典书籍,这本书可以作为软件测试行业的入门科普书籍,内容通俗易懂. 介绍 本书涵盖了软件测试的方方面面:软件测试如何适应软件开发过程,基本的和高级的软件测试技术,在常见的测试任务中运用测试技 ...

  7. 什么是软件测试中的人工智能(AI)?

    软件开发行业最近最热门的词汇之一就是人工智能.但它的真正含义是什么?软件测试自动化背景下的人工智能与其更广泛的定义有何不同? 当我们谈论人工智能及其姊妹词机器学习时,我们是什么意思?我想我会澄清我们的 ...

  8. 软件测试原书第二版(佩腾著)-学习笔记(一)

    第一部分 软件测试综述 2019.05.17 - 2019.05.18 序 1.软件测试定义 使用人工或自动手段来运行或测试某个系统的过程,检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别 ...

  9. 浅谈软件测试行业的现状和前景

    浅谈软件测试行业的现状和前景 摘要:软件测试在整个软件开发中占据了一半或一半以上的工作量,而且具有很高的组织管理和技术难度.搞好软件测试,是保证软件质量的关键步骤,是分析软件可靠性的重要依据. 关键词 ...

最新文章

  1. ifconfig没有命令 kali_新装的Linux系统没有ifconfig命令?教你一键找回
  2. EntityFramework用法探索(二)CodeFirst
  3. git error(win下)
  4. Android学习视频
  5. VI编辑器的操作模式
  6. c语言pow函数用法_C语言基础的不能再基础的程序知识!“hello world”!
  7. 渗透攻击红队百科全书
  8. 关于php变量的赋值和引用的区别
  9. 极简静态 Web 服务器
  10. C#封装DLL类库,调用类库
  11. SharePoint2010探索日志
  12. RS编码的matlab仿真
  13. 机器学习中各分类算法的优缺点比较
  14. qpython做连点器脚本_「PyMouse」做个连点器给老师点赞
  15. 【Windows】将bat文件注册为windows服务
  16. nmn与线粒体的作用,nmn线粒体对细胞作用及影响,值得关注
  17. R语言学习-创建空矩阵
  18. mysql 等待函数,mysql 函数
  19. 《赐我》-一只白羊 同步歌词
  20. 豆瓣评论数据词云画像()

热门文章

  1. Additive secret sharing 加性秘密共享(加法,乘法,向量乘法)
  2. spring 组建及核心内容的简介(一)
  3. js计算当月有几周并显示对应的日期
  4. MBR膜生物反应器,生物反应器原理-世来福
  5. 计算机里的云文档怎么锁,怎么把云文档放到桌面上
  6. 【LeetCode】77 组合 (C++)
  7. d3.js 实现企业图谱(基于vue)
  8. 郭晶晶家的象棋私教,好家伙是个机器人
  9. 机器翻译评估标准介绍和计算方法
  10. @test 不允许在这里_“我们不在这里为他们服务”