一、计算机基础
1.1 什么是软件
1.1.1 基础概念
计算机 = 硬件 + 软件
软件 = 程序 + 文档
提示:测试对象是程序和文档(软件)
1.1.2 软件的开发阶段
第一阶段:需求分析阶段
需求分析人员完成 产出物:《需求规格说明书》
第二阶段:设计阶段
是由系统结构师(分析师)完成 产出物:《概要设计说明书》 《详细设计说明书》
第三阶段:编码阶段
开发人员(程序员) 产出物:程序(源代码)
面试:开发阶段中哪个阶段产生的bug最多,哪个最少? |
---|
需求分析阶段产生bug最多(大概为bug总数的55%),其次是设计阶段(大概占25%),最少的是编码阶段(大概15%),最后还有约5%的bug来源于兼容性问题和配置问题。 总结: (1)测试工作不能只测程序文档也要测。 (2) 测试工作应该尽早介入而且应该贯穿整个开发阶段始终。 【尽早测试原则和不断测试原则】 |
1.1.3 拓展名词
PC: personal computer 个人电脑,在学习,办公,娱乐时,单个用户使用,通常配置相对较低
Server: 服务器,同时提供多用户使用,配置相对要求较高。
二、什么是缺陷
缺陷:defect bug
2.1 缺陷的定义
第一种:
(1)需求要求的功能没有实现。
(2)实现了需求没有要求的功能。【画蛇添足】
(3)软件中出现了明确指明不应该出现的错误。
(4)需求虽未明确提及但是应该实现的功能没有实现。
【说明】:需求可能会有遗漏的内容,我们测试工作不能因为需求有问题,就导致测试也有问题。
(5)软件难以理解、不易使用,运行缓慢等站在用户的角度上一切觉得不好的地方。
扩展:软件的两个基本要素是什么? |
---|
①功能要能够实现。 |
②要具备强大的异常处理能力(健壮性)。 |
第二种:(理解)IEEE定义
A、从软件的外部来看(黑盒)
缺陷是系统所需要实现的某种功能的失效或违背。
B、从软件的内部来看(白盒)
缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题。
第三种:
用户在软件使用过程中遇到的任何软件错误、异常都可以称之为 “ 软件缺陷 ”。
三、 软件测试
2.1 软件测试定义
从软件(程序和文档)中尽可能多的查找缺陷的过程。
【提示】:只要完成了查找先缺陷的过程就是在做软件测试,无论找到还是没找到缺陷。
2.2 手工测试的日常主要职责
设计、编写《测试用例》->执行测试,记录结果 -> 可能会发现缺陷 -> 将缺陷填写到《缺陷报告》提交给开发部门。
四、计算机的层次
4.1 计算机的层次
-
计算机硬件(裸机)
-
操作系统
-
应用软件
说明:
(1)操作系统常被称为os(operation system 操作系统)
(2)作用:作为计算机中的中间平台,能够管理计算机的硬件和软件。
【是计算机软件和硬件之间的系统平台,负责管理计算机的软件和硬件】
面试:裸机中有什么程序(软件)吗? ①裸机中有软件,是BIOS(basic input output system)基本输入输出系统,安装在计算机主板的cmos芯片中。 ②BIOS作用:在计算机通电后,控制权会首先交给bios,由bios做“上电自检”—就是通电后bios程序先要检测所有的硬件设备的连接是否完好,如果完好bios将控制权转交给os,如果连接有问题,bios会启动蜂鸣器发出报警音,并且阻止os的启动。
扩展:如何进入bios? |
---|
①台式机:开机后按 “ delete ” 键。 |
②笔记本:开机后按 ‘F2’ ,(自行百度) |
提示:bios系统涉及到底层硬件设置,所以不要随意改动配置,如果有需要,可以参考手册或者请专业人士帮助。 |
4.2 常见的OS操作系统有哪些
(1)Windows系统(微软公司)
优点:简单、易用,所以该系统拥有大量的个人用户
缺点:稳定性、安全性较差(服务器领域用户量较少)
(2)Unix(贝尔实验室)
特点:安全性、稳点性好,支持二次开发(收费)
Unix适合做为服务器操作系统的
(3)Linux(自由软件)
特点:安全性、稳定性较好,开源(开放源代码),支持二次开发(免费)
Linux系统适合企业的服务器操作系统
例如:bat都是使用Linux系统内核,再做二次开发,实现适合企业的服务器平台
(4)Mac系统 (苹果电脑)
特点:图形、图像处理能力强(图形、图像设计类的工作适合使用mac系统)
(5)Dos系统 (微软)
特点:单用户系统,命令式操作系统
查IP:开始 --> 运行 --> cmd --> dos --> 输入命令ipconfig
五、软件的分类
5.1 按应用分类
(1) 系统软件
- 操作系统
- 补丁程序
- 驱动程序
(2)应用软件
① 办公软件:office、wps、oa(办公自动化)
② 娱乐类软件:游戏、播放类、阅读类、社交类等
③ 管理类软件: 客户管理、物资管理、招投标管理等
④ 图形、图像设计类软件: Ps、美图秀秀、cad、3dmax 、玛雅等
⑤ 数据管理类软件:数据库管理系统
Oracle数据库、mysql数据库(免费)、sql server(微软)
5.2 按结构划分
(1)单机软件
不需要连接网络就可以使用的软件。例如:word,计算器,单机游戏等
(2)分布式软件
必须要连接网络才能使用的软件。例如:百度网站、qq、网络游戏 等
(此处网络既包括广域网也包括局域网)
(A) C/S模式: Client/server—客户端/服务器
特点: c/s结构需要安装该软件专门的客户端程序,才能享受服务器的服务。例如:qq、微信、滴滴打车等.
(B) B/S模式: Browser/Server—浏览器/服务器
特点:不需要在客户端安装该软件专门的客户端程序,只要有浏览器,输入不同的网址就可以享受不同服务器提供的服务。例如:百度网站,京东网站等
主流浏览器有哪些? |
---|
IE浏览器(微软公司) Firefox(火狐浏览器)开源浏览器可以安装很多插件,使工作更有效率 Chrome浏览器(谷歌公司) Safari(苹果公司) Opera(欧朋浏览器) |
六、进制和进制转换
6.1 进制基础
6.1.1 十进制(找规律)
-
系数:0-9
-
进位规则:逢10进1
-
权:基数的次幂
十进制的权:
右侧第1位:10的0次幂
右侧第2位:10的1次幂
右侧第3位:10的2次幂
……
规律:右侧第1位,次幂从0开始,每向左移动一位次幂会+1
-
基数:几进制基数就是几
-
进制的表示:
方式1:下角标
方式2:后缀D,1001D
十进制可以默认表示,如果任何表示都没有,默认是十进制
6.1.2 二进制
计算机的语言是二进制,因为计算机的电路系统中,主要都是两个状态,如:开/关,
高/低等,二进制恰好契合了计算机的电路需求。
冯.诺依曼 因为第一个将二进制引入计算机,被称为计算机之父。
- 系数:0,1
- 进位规则:逢2进1
提示:111B—7D
1111B—15D
-
权:2的次幂
-
二进制如何表示
方式1:下角标2
方式2:后缀B
二进制—>十进制 |
---|
方法:按权展开求和法 步骤1:用每位的系数乘以该位的权得到乘积 步骤2:将所有乘积相加求和 |
6.1.3 十六进制
二进制缺点:二进制位数太多,显示起来比较繁琐
为了解决二进制位数多的问题,引入了十六进制和八进制可以使数据显示位数变少,更简洁。
-
系数:0-9和A=10,B=11,C=12,D=13,E=14,F=15
-
进位规则:逢16进1
-
权:16的次幂
-
十六进制的显示
方式1:下角标16
方式2:后缀H
6.1.4 八进制
- 系数:0-7
- 进位规则:逢8进1
- 权:8的次幂
右侧第1位:8的0次幂
右侧第2位:8的1次幂
……
- 八进制的表示
方式1:下角标8
方式2: 后缀O
八进制->十进制 |
---|
方法:按权展开求和法 |
6.2 进制之间的转换
6.2.1 任意进制 <–> 十进制
(1)任意进制 –> 十进制
方法:按权展开求和
(2)十进制 –> 任意进制
方法:除基取余逆读法
方法说明:
步骤1:用十进制值除以基数(转成几进制基数就是几),得到商和余数(整数)
步骤2:再用商继续除以基数,直到商为0时停止
步骤3:最后倒叙读取余数部分做为结果
6.2.2 二进制<–> 十六进制
说明:每4位二进制数可以表示1位十六进制
(1)二进制 –> 十六进制
方法:4合1
方法说明:
步骤1:从后往前将每4位二进制数分成1组
步骤2:计算每组对应的十六进制结果
步骤3:最后将结果顺序读出即可
(2)十六进制 –> 二进制
方法:1分4
方法说明:将每位十六进制拆分成4位二进制数,顺序读出即可
扩展:二进制<—>八进制
说明:每3位二进制可以表示1位8进制(000-111,0-7是八进制的系数范围)
(3)二进制–>八进制
方法:3合1
(4)八进制–>二进制
方法:1分3
问题:八进制与十六进制之间的相互转换,如何实现?
可以在八进制和十六进制之间通过中间的二进制或十进制实现转换。例如:
八进制–>二进制–>十六进制