【软件测试】1.软件测试前置基础知识

day1

1.3 软件系统

1.我们人为的将软件系统分为二类:系统软件 + 应用软件
2.系统分类( 操作系统软件 ):

(1)桌面操作系统:

Windows: 由微软推出,用户量很大。分很多系列
MacOs:苹果公司,本质其实也是一个 Linux 分支。
Linux:核心内容是由 李纳斯 编写,应用软件少。

(2)移动设备操作系统
IOS :美国苹果公司用于手机和平板电脑
Androids :底层就是一款小型的 Linux

(3)服务器操作系统

Windows server :由微软件推出,是收费的。
Linux:开源 稳定

服务器:所谓的服务器我们就可以理解为是一台给用户提供相应的服务的机器。(文件上传下载服务,视频上传下载服务.....)只不过,这台机器的处理能力要远远大于我们的个人电脑。

1.8 数据计量单位

一、为什么需要计量单位

计算机是用来处理数据的, 当数据积累到一定的量级之后就会需要有相应的单位来对它们进行衡量。

二、最基本的计量单位

1.比特( bit/ 位 ):它被认为是计算机当中最小的一个单位。
2.字节( bytes ): 它比 位要大一些,人为规定 1 字节=8 位

三、常见的单位及转换关系

1.1B = 8bit
2.1KB = 1024B [文档和小图片]
3.1MB = 1024KB【 大图片,或者音乐 】
4.1GB = 1024MB【 高清的电影 】
5.1TB = 1024GB 【硬盘容量】
6.1PB = 1024TB


1.10 DOS 命令

一、DOS 是什么

DOS 是一个操作系统,属于 Windows ,和我们现在用的 win7 8.1 10 去比较其实差别就在于 ,我们现在用的是图形桌面系统,而 DOS 是一个命令行执行的操作系统。

二、如何使用 DOS

  1. 进入终端:Win + R 调出运行面板 
  2. 在运行中输入 cmd 进入终端 
  3. 在终端面板中书写 DOS 命令 ,然后回执行。

三、常见的命令

1.Time 显示当前计算机的本地时间

2.Ctrl+ C 退出当前正在执行的命令

3.Shutdown /s /t 时间(秒) :设置在多少时间后自动关机【 中间有空格 】

4.Shutdown /a 取消之前设置的自动关机

5.cls 清空当前正在编辑的屏幕

6.ping 网址

(1)可以检查当前的网络是否是通的

(2)可以得到当前被Ping 网页的IP地址

7.ipconfig -all

(1)可以将当前计算机当中的所有网卡信息都列出来。

(2)Ip 地址:这个地址一般是用来在网络上唯一标识计算机。( 一台机器的 IP 地址可以变)

(3)Mac 地址:也叫物理地址,它是被写入 ROM 的。理论上每台计算机的 mac 地址是唯一的。

8.上下键 :调用我们之前使用过的命令,上键就是往回找,下键就是往下找。


day2

常见DOS命令02

一、切换盘符 

D: 

二、返回上一级或根目 

返回上一级

cd ..

返回根目录

cd /

注意:

01 cd 就是 change directory 的首字母缩写,表示切换目录的意思。

02 cd 命令不可以切换盘符。

03 根目录指的就是某个磁盘盘符的一级目录。

04 命令语句一定都是在英文输入法下面书写的,命令和参数之间往往都用空格隔开。

三、列表示展示某个目录下的内容

dir

四、目录及文件相关操作

  1.新建目录: md 路径

  2.新建文件: echo "内容">文件名称,通过这种方法间接得到一个文件

  3.删除目录: rd 路径 【默认情况下只能删除空目录,如果想连带它里的文件一起删除则 需要设置 /s 参数】

  4.删除文件: del 文件名称

注:

 A. md 只能新建目录

 B. rd 默认只能删除空目录

C. 如果 del 后面直接写的不是文件,而是一个目录,那么它就会将这个目录下的所有文件都删除( 前提是我们选择 Y )

五、文件复制和剪切命令 

copy 被复制文件路径 将这个文件复制到哪里

copy aa/aa.txt c: estb.txt [ 将目录 aa 下在的 aa.txt 文件,复制到 c 盘 test 目录下,同时将名称修改为 bb ]

注:

  复制操作语句,我们可以分为三段,第一段就是命令 copy ,第二段就是被复制文件的在地,第三段可以指明将当前文件复制到哪里,三段之间都要用空格隔开

move 被剪切文件全称名 将这个文件剪切到哪里

注:

01 对于剪切操作来说 必须要进入到想要操作文件所在目录去执行命令

02 第三段用来指明目标所在地的部分不能省略


 

day5

1.3 软件测试行业基本介绍

三、为什么不让开发自己做测试

1.4 软件测试基本介绍

一、软件测试定义
通过手工或者工具对 "被测对象"进行测试操作,从而验证实际结与预期结果之间是否存在差异。

二、软件测试的作用
1.通过测试工作可以发现并修复软件当中存在的缺陷,从而提高用户对产品的使用信心。
2.测试可以记录软件运行过程中产生的一些数据,从而为决策提供数据支持。
3.测试可以降低同类型产品开发遇到问题的风险。

三、测试原则:
所谓的测试原则指的就是我们在执行测试工作时必须要遵守的一些规则。

1.测试证明软件存在缺陷:无论执行什么样的测试操作,都应能证明当前软件是有缺陷的。
2.不能执行穷尽测试:有些功能是没有办法将所有的测试情况都罗列出来,所以任何的测试操作都有结束的时间。
3.缺陷存在群集现象:对于软件功能说,核心功能占 20%,非核心是 80%。在实际工作中我们会集中测试 20%的核心功能,
所以这个部分发现缺陷的几率就会高于 80%。因此我们我们就会遇到缺陷都集中在 20% 功能模块里的现象。
4.某些测试需要依赖特殊的环境。
5.测试应尽早介入:为了更多的发现和更好的解决软件中的缺陷,我们追求测试工作尽早的开展。
6.杀虫剂现象:同样的一个测试用例不能重的执行多次,因为软件会对它产生免疫。
7.不存在缺陷谬论:任何软件不可能是完美的。

1.5 测试对象介绍

对于当前的测试行业来说我们最经常测试的主体就是 软件( 主体功能 ),但是需要我们明白是一个软件也不仅仅只有功能需要测试。
我们可以将软件分为三个部分组成:功能集合 + 使用说明书 + 配置数据。
对于一款软件来说从无到有需要不同的过程,我们可以将这个过程分为不同阶段,然后 每个阶段都会相应有测试对象。

1. 需求分析阶段:各种需求规格说明书
2. 软件架构设计:API 接口文档( 接口测试 )
3. 编码实现阶段:源代码( 白盒测试、单元测试 )
4. 系统功能使用:软件功能主体( 当前行业做的最多的一种测试 )

1.6 测试级别

软件的开发都会依据相应的开发模型, 测试级别指的就在这个模型当中我们人为定义
的开发步骤。其中对于测试来说我们最常见的一种级别分类如下:

1.单元测试( UT unit test ):在软件测试中单元指的就是组成软件最小的底层代码结构,
一般就是类、函数、组件( 当下的软件测试行业,不会刻意要求测试人员对源代码进行测试 )。

2.集成测试( IT system ingertaion test ):将多个单元模块组合在一起,然后验证它们之间
沟通的"桥梁"是否能正常工作( 接口测试 )

3.系统测试( ST system test ):这是当前行业做的最多的一种测试。由测试人员充当用户
然后对软件的功能主体进行测试。

4.验收测试:
(1) a测试 -----内测
(2) b测试 -----公测
(3) UAT( user acceptance test )测试----- 由客户派出对于业务非常精通的人员来使用该软件,从而对功能进行测试。
(4) 验收测试的核心就是让用户为当前软件 "买单"

1.7 系统测试分类

1. 功能测试:验证当前的软件主体功能是否可用。
2. 兼容性测试:验证当前软件在不同的环境下是否还可以使用。
3. 安全测试:验证软件是否只是能授权用户提供功能使用。
4. 性能测试:相对于当前软件消耗的资源 它的产出能力。

1.8 常见的系统测试方法

一、按测试对象进行分类

1.白盒测试:这种测试的主体就是软件的底层代码,不会在意外在的界面是否 OK ,只要求底层功能实现,同时逻辑正确。
2.黑盒测试:这种测试就是指测试软件外在主体功能是否可用。
3.灰盒测试:介于二者之间( 接口测试 )
4.上述三种方法当中的 "盒" 指的就是被测对象。

二、按测试对象是否执行分类
1.静态测试:指的就是测试不执行。
2.动态测试:将软件运行在真实的使用环境中进行测试。

三、按测试手段进行分类
1.手工测试:由测试人员手动的对被测对象进行验证,优点就是可以灵活的改变测试操作及环境。
2.自动化测试:所谓自动化主要有二种形,一种是自已写测试脚本,另外一种就是通过第三方的工具对被测对象进行测试。优点就是可以高效率的去执行一些人工无法实现的操作。

1.9 软件质量

描述当前软件是否好用,在当前的软件行业里我们所采用的一套标准是基于 ISO 组织制定的。
需要我们记忆的就是软件质量的六大特性:

1. 功能性:软件需要满足用户显式或者稳式的功能。
2. 易用性:软件易于学习 和上手使用。
3. 可靠性:指的就是软件必须实现需求当中指明的具体功能。
4. 效率性:类似于软件的性能。
5. 可维护性:要求软件具有将某个功能修复之后继续使用的能力。
6. 可移植性:当前软件可以从一个平台移植到另一个平台上去使用的能力。

1.10 软件测试流程

1. 需求分析
(1) 当前阶段的核心目的就是梳理清楚我们需要设计的点是什么。
(2) 需求的来源:需求规格说明书、API 文档、竞品分析、个人经验。

2. 设计用例 
(1) 用例就是用户为了测试软件的某个功能而执行的操作过程。
(2) 设计用例是有方法的( 等价类、边界值、判定表...... )

3. 评审用例:对当前的用例进行添加或者删除。
4. 配置环境
(1) 环境:指的就是当前被测对象运行所需要的执行环境,做为测试人员需要具备
配环境的能力。【 一般情况下都会使用一键安装的集成环境 】
(2) 环境分类:操作系统 + 服务器软件 + 数据库 + 软件底层代码的执行环境。

5. 执行用例
(1) 一般在执行用例之前我们会做一个冒烟测试。 种测试的核心就是快速的对当前软件的
核心功能或者主体执行流程进行验证。如果冒烟测试阶段有问题,则可以将此版本回退给开发。
(2) 如果冒烟测试通过那么才会开展示全面的测试。

6. 回归测试及缺陷跟踪
(1) 回归测试指的就是当我们将某个缺陷提交给开发之后,由它们进行修复,修复完成
之后需要测试认员再次对其进行测试【回归测试】
(2) 缺陷跟踪:指的就是当测试人员发现某个缺陷之后需要一直对其进行状态的跟踪。

7. 输出测试报告
将当前的测试过程中产生的数据进行可视化的输出。方便其它人去查看。

8. 测试结束
当将整个测试过程中产生的一些文档进行整理归档,方便后续版本使用。

1.11 软件架构

所谓的软件架构我们可以理解为是用来指导我们软件开发的一种思想。 目前来说最常见的
二种架构模式就是 B/S 、C/S
B---browser 浏览器
C---clent 客户端
S---server 服务端

二种架构的比较

1.标准:相对于 CS 架构来说 BS 架构的二端都是在使用现成的成熟产品。所以 BS 会显示的标准一些。
2.效率:相对于 BS 架构来说 CS 中的客户端可以分担一些数据的处理,因此执行效率会高一些。
3.安全:BS 架构当中的数据传输都是以 HTTP 协议进行的输出,而 HTTP 协议又是明文输出。
可以被抓包,所以相对于 CS 架构来说 BS 就显得不那么安全【相对的】
4.升级:BS 架构只需要在服务器端将数据进地更新,前台只需要刷新页面就可以完成升级,而 CS 架构当中必须要将二端都进行更新。
5.开发成本:相对于 BS 架构来说 CS 当中的客户端需要自已开发,所以相对于来说成本会高一些。

1.12 浏览器基本介绍

一、浏览器是什么

浏览器本质就是一款软件,安装在操作系统之上。一般给用户提供浏览网页的服务。
目前来说我们会人为的将所有浏览器总结出一个所谓的五大生产厂商。【 对于浏览器来说最核心技术就是内核 】

二、六大浏览器生产厂商

1.IE( 微软 )-----trident
2.Chrome ( 谷歌 )----blink
3.Firefox( 火狐 )-----gecko
4.Safari( 苹果 )-----webkit
5.Opera( 欧朋 )----presto【 现在已经放弃自已东西完全向 chrome 】
6.Microsoft Edge----chrome

1.13 常见的图片类型

1. Jpg(jpeg) :这是一种可以高度保留图片色彩信息的格式。
2. Png:该类型的图片可以实现透明。
3. Gif:图片所占体积小,可以实现动图。
4. Psd:它是一种分层的图片。

部分内容来自于学习编程期间收集于网络的免费分享资源和工作后购买的付费内容。
原文地址:https://www.cnblogs.com/MarlonKang/p/12378427.html