软件测试的背景和前期准备

目录

一、初识软件测试

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.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 等。
 驱动程序:显卡、网卡驱动等

软件测试的背景和前期准备_第2张图片
支持软件
 界面工具:X Window 等。
 开发工具软件:Visual Studio、JBuilder、Eclipse 等。
 数据库管理系统:SQL Server、Oracle、MySQL 等。
应用软件
 QQ、游戏、各类网站、搜狗输入法等。

软件测试的背景和前期准备_第3张图片

 

 按架构分:

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

软件测试的背景和前期准备_第4张图片
分布式软件:(重点)

 C/S 软件(架构)

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


 B/S 软件(架构)

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

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

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

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

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


2.2 软件测试和测试环境

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

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

i. 数据的形式与数制:

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

软件测试的背景和前期准备_第5张图片
采用二进制存储数据和代码,
 计算机中采用开关来分别代替 1 和 0。
 程序判定数据的存储位置,判定二进制是代码还是数据
计算机的内存采用线性的一维方式寻址,
 字节:1B=8bits
 1KB=1024B、MB、GB、TB
 生活中 1KB=1000B


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

 

iii. 数据怎么存储:

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


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

数值数据的存储,

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

十进制→二进制:
十进制数除以 2,倒排余数。
十进制转其他进制,做法一致,变几进制就除以几。
软件测试的背景和前期准备_第6张图片

 二进制→十进制,

软件测试的背景和前期准备_第7张图片

 字符串的存储,

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

软件测试的背景和前期准备_第8张图片

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

软件测试的背景和前期准备_第9张图片


三、微型计算机的组成

3.1 虚拟内存的 含义和作用

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

软件测试的背景和前期准备_第10张图片

 软件测试的背景和前期准备_第11张图片

设置 IP 地址:

软件测试的背景和前期准备_第12张图片

 软件测试的背景和前期准备_第13张图片

 软件测试的背景和前期准备_第14张图片

 软件测试的背景和前期准备_第15张图片


3.2  微型计算机的组成

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

特点:

占地面积大、耗电量大

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

使用纸带存储程序和数据

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

计算机的发展历程:

第一代电子管计算机

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

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

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

计算机工作原理:

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

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

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

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

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


3.3 计算机系统的组成

软件测试的背景和前期准备_第16张图片

 计算机的硬件系统:

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

i. 中央处理器

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

软件测试的背景和前期准备_第17张图片

CPU 的性能指标:

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

ii. 存储器

只读存储器 ROM,如 BIOS

软件测试的背景和前期准备_第18张图片

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

软件测试的背景和前期准备_第19张图片

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

iii. 输入设备

鼠标

键盘

扫描仪

...

iv. 输出设备

打印机

显示器


四、网络基础知识

4.1 计算机网络概念与分类

软件测试的背景和前期准备_第20张图片

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

特点:

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

计算机网络的发展史:

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

软件测试的背景和前期准备_第21张图片

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

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

软件测试的背景和前期准备_第22张图片

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

软件测试的背景和前期准备_第23张图片

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

计算机网络的分类:

根据覆盖地理范围划分,

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


4.2  计算机网络体系结构

i. 网络结构的分层设计

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

软件测试的背景和前期准备_第24张图片

 ii. 协议

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

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

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

软件测试的背景和前期准备_第25张图片

 

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

 ISO/OSI 模型分为 7层,

软件测试的背景和前期准备_第26张图片

 数据封装,

软件测试的背景和前期准备_第27张图片

 软件测试的背景和前期准备_第28张图片

 软件测试的背景和前期准备_第29张图片

 软件测试的背景和前期准备_第30张图片

 软件测试的背景和前期准备_第31张图片

 iv. 各层工作的物理设备

物理层

  • 网卡
  • 集线器

软件测试的背景和前期准备_第32张图片

 数据链路层

  • 交换机

软件测试的背景和前期准备_第33张图片

 网络层

  • 路由器

软件测试的背景和前期准备_第34张图片

 传输层

  • 防火墙

软件测试的背景和前期准备_第35张图片

 应用层

  • 服务器

软件测试的背景和前期准备_第36张图片

 v. TCP/IP 模型

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

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

软件测试的背景和前期准备_第37张图片

 IP 协议:

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

软件测试的背景和前期准备_第38张图片

 ICMP 协议:

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

软件测试的背景和前期准备_第39张图片

 ARP 协议:

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

软件测试的背景和前期准备_第40张图片

 UDP 与 TCP 协议:

二者都属于传输层协议

软件测试的背景和前期准备_第41张图片

 TCP 的连接:三次握手

软件测试的背景和前期准备_第42张图片

 应用层协议:

软件测试的背景和前期准备_第43张图片

 端口:

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

软件测试的背景和前期准备_第44张图片

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


4.3 IP 地址

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

IP 地址的特点:

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

软件测试的背景和前期准备_第45张图片

 IP 地址的分类:

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

软件测试的背景和前期准备_第46张图片

软件测试的背景和前期准备_第47张图片

 特殊 IP 地址:

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

软件测试的背景和前期准备_第48张图片

 

 

软件测试的背景和前期准备_第49张图片

 

软件测试的背景和前期准备_第50张图片


4.4 子网掩码

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

软件测试的背景和前期准备_第51张图片

 子网掩码的应用:

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

软件测试的背景和前期准备_第52张图片

软件测试的背景和前期准备_第53张图片


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

设置 TCP/IP 参数:

软件测试的背景和前期准备_第54张图片

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

软件测试的背景和前期准备_第55张图片

你可能感兴趣的:(软件测试,软件测试)