软件测试:用“bug”来表示“在电脑程序里的错误”
计算机基础知识
计算机(personal computer)俗称电脑(pc),是现代一种用于高速计算的电子机器,可以进行数值计算,又可以进行逻辑判断,还具有存储记忆功能,且能够按照程序的运行,自动、高速处理数据。
计算机的组成
计算机一个完整的计算机系统,是由硬件系统和软件系统两大部分组成的。
![](https://i-blog.csdnimg.cn/blog_migrate/7622b6e2ee13d1ad17b6a9497195b560.png)
计算机的硬件系统
计算机的硬件主要分为主机和外设两部分,都是指那些构成计算机系统的物理实体,它们主要由各种各样的电子器件和机电装置组成。
![](https://i-blog.csdnimg.cn/blog_migrate/3633b12ce7f006f5d008ea3723f531c4.png)
从ENIAC(世界上第一台计算机)到当前最先进的计算机,硬件系统的设计采用的都是冯·诺依曼体系结构
运算器、控制器统称中央处理器(cpu): 负责数据的算术运算和逻辑运算,即数据的加工处理。是整个计算机的中枢神经,分析程序规定的控制信息,并根据程序要求进行控制,协调计算机各部分组件工作及内存与外设的访问等。
存储器: 实现记忆功能的部件,用来存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。内存(rom只读存储器;ram随机存储器;断电数据会消失);外存(硬盘、软盘ab、光盘)
输入设备: 实现将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。
输出设备: 实现将计算机处理后生成的中间结果或最后结果(各种数据符号及文字或各种控制信号等信息)输出出来。
计算机的软件系统
![](https://i-blog.csdnimg.cn/blog_migrate/624eadc8ebdc05b3addbc8c23dca541d.png)
计算机软件系统中系统软件的操作系统分类(操作系统的主要作用是管理好硬件设备.)
1、桌面操作系统
Windows系列:用户群体大
macOS:适合于开发人员
Linux:应用软件少
2、服务器操作系统
Linux:安全、稳定、免费、占有率高
WindowsServer:付费、占有率低
....
3、嵌入式操作系统
Linux:运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百KB 等特点,使其近些年来在嵌入式领域的应用得到非常大的提高
主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、等都是其应用领域,得到了Google、三星、摩托罗拉、NEC 等公司的大力推广
4、 移动设备操作系统
iOS; Android(基于Linux)
计算机软件系统中计算机的应用软件
应用软件是指专门为某一应用目的而编制的软件
B/S架构与C/S架构
什么是 B/S架构:
Browser-Server,浏览器和服务器架构。包含客户端浏览器、web应用服务器、数据库服务器的软件系统。用户只需要一个浏览器就可以访问服务。系统更新时候,只需要更新服务端,不需要更新浏览器(比如百度、淘宝、微博等网站)。
什么是 C/S架构:
Client-Server,客户机和服务器架构。这种架构与B/S最显著的区别是需要安装客户端,通过客户端程序来访问应用系统。所以更新时,既要更新服务端,也要更新客户端(比如微信、王者荣耀手游、QQ音乐等软件)。
B/S软件与C/S软件区别
1、硬件环境不同:
C/S建立在专用网络上,小范围的网络环境,局域网之间再通过专门服务器提供l连接和数据交换服务。
B/S建立在广域网上,不需要专门的网络硬件环境
2、安全要求不同:
C/S一般面向相对固定的用户群,对信息安全控制能力强,一般高度机密的信息系统采用
B/S建立在广域网上,对安全的掌控能力弱,面向不可知的用户的用户群。
3、系统维护不同:
C/S程序由于整体性,必须整体考察,升级困难,多建立在各样操作系统之上,表现方法有限,对程序员要求较高。
B/S系统无缝升级,维护开销小,有更加丰富的表现形式,开发难度较低。
4、处理问题不同:
C/S处理用户固定,安全需求高,要求相同操作系统。
B/S面向所有用户,分散广,对系统要求小
什么是二进制?
二进制是计算技术中广泛采用的一种数制 计算机中描述数据使用的就是二进制;因为只需要0和1就可以表示开和关
人类世界描述数据用十进制,计算机世界描述数据使用二进制。
二进制是计算技术中广泛采用的一种数制,是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”。
计算机内信息的表示形式是二进制数字编码,各种类型的信息(数值、文字、声音、图像,甚至是键盘按键、鼠标点击等等)必须转换成二进制数字编码的形式,才能在计算机中进行处理。
计算机为什么要使用二进制?
计算机是由各种电子元器件组成的,其中有最重要的基础电子元件就是半导体,也就是熟悉的二极管、三极管等。
半导体通过逻辑电路传递和处理数字信号,它能按照一定的条件去控制信号的通过或不通过。逻辑电路通常只有两个状态,开关的接通与断开,这两种状态正好可以用 1 表示 开, 0表示 关。如果用其它的进制,必将使计算机元件的制造和信息的处理更为复杂。所以,输入电脑的任何信息最终都要转化为二进制。
常见进制
十进制:有10个基数:0、1、2、3、4、5、6、7、8、9(逢10进1)
二进制:有2 个基数:0、1 (逢2进1)
八进制:有8个基数:0、1、2、3、4、5、6、7 (逢8进1)
十六进制:有16个基数:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F(逢16进1)
进制转换工具:在线进制转换
常见存储单位
位:计算机中表示信息的最小单位,用来表示一个二进制(0或1)信息,用bit表示;
字节:八位二进制信息为一个字节,字节是计算机处理信息的最小单位,B表示
1B(计算机处理数据的最小单位)=8b(计算机表示数据的最小单位)
1B=8b
1kb=1024B
1MB=1024kb
1GB=1024MB
1TB=1024GB
1PB=1024TB
一个字节是8位,一个汉字是两个字节,也就是16位.1B=8b,一个汉字等于两字节即16b(b的意思就是位)
逢二进一是什么意思?
是二进制计数。我们常用的10进制是每到10个数就往前进一位数。二进制就是还不到10,到2就进位了。比如1,是一位数,如果再加1呢?一加就到2了,所以就进一位,第一位数归0。就成了:1+1=10
以此类推就有;1+1=10 、1+1+1=11、1+1+1+1=100 、 1+1+1+1+1=101 、 1+1+1+1+1+1=110 1+1+1+1+1+1+1=111。
计算机指令系统
计算机指令系统是一种指令集的体系,也是计算机硬件的语言系统。这种指令集通常称为机器码(machine code),也叫机器语言(machine language),是电脑的CPU可直接解读的数据。简单来说:计算机程序就是一组需要CPU处理的二进制数。
计算机编程语言
计算机语言的种类非常的多,总的来说可以分成 机器语言、 汇编语言、高级语言三大类。
1. 机器语言:由"0"和"1"组成的二进制数。
-
汇编语言:为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串(比如,用"ADD"代表加法,"MOV"代表数据传递等等),更容易识别和记忆,运行效率最高。
-
高级语言:主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,比如C、C++、Java、 Python、PHP等等。大大简化了程序中的指令。高级语言是绝大多数编程者的选择,也是目前主流的编程语言的选择方向。
计算机网络-OSI七层模型
OSI七层模型描述了网络活动的特点;
1、应用层:所有应用程序的网络在此展开
2、表示层:表示数据形式,完成对传输数据的转化(数据的加密解密)
3、会话层:负责建立、维护、拆除会话(session缓存)
4、传输层:负责建立一个可靠的端到端的链接
5、网络层:负责路由寻址和广播
6、数据链路层:负责将上层数据封装成帧
-
物理层:只负责传输01二进制比特(bit)流
TCP/IP协议
TCP\IP协议定义是为网络通讯协议,它分为
1、应用层:应用程序之间相互沟通的层
2、传输层:提供了数据传送,应用程序之间的通信服务
3、网络互联层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机
-
网络接口层:接收数据,并进行传输
IP地址
IP地址是指互联网协议地址(InternetProtocol Address,又译为网际协议地址),是IPAddress的缩写。IP地址是ip协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。好比是门牌号
IP地址分类:
Ipv4地址:4段数字组成(地址已经使用枯竭)
Ipv6地址:6段数字组成(地球上每一粒沙子都可以被分配地址)
按照地址类别来分类:
1.A类地址:第一组数字1-126
2.B类地址:第一组数字128-191
3.C类地址:第一组数字192-223
4.保留IP地址(只能用在局域网中)
10
127
172.16.0.0-172.31.255.255
192.168.*.*
IP 地址定义
IP 地址是一个唯一地址,用于标识互联网或本地网络上的设备。IP 代表“互联网协议”,它是控制通过互联网或本地网络发送的数据格式的一组规则。本质上,IP 地址是允许在网络上的设备之间发送信息的标识符:它们包含位置信息,并使设备可进行通信。而互联网需要一种区分不同计算机、路由器和网站的方法。而IP 地址则提供了一种实现此目标的方式,并且是互联网工作原理中的关键组成部分。
常用dos命令
dos窗口打开:Win+r打开运行窗口,输入cmd点击确定就可以打开dos命令行窗口
![](https://i-blog.csdnimg.cn/blog_migrate/c1a57e31a733872d205a2c76fa34831f.png)
2、arp –a 注意有个空格 再回车
查看ip地址和物理地址(mac地址)的对应关系
3、ping 网络地址 查看当前计算机和要访问的计算机之间的连通情况.
![](https://i-blog.csdnimg.cn/blog_migrate/801730390a2d961f441fc92b3a66fd27.png)
ping 域名或者ip地址 回车 ------>查看目标主机的连通状态。TTL( Time To Live 生存时间)
4、清屏 cls
5、切换盘符: 盘符:
6、进入文件夹: cd 文件夹名字
7、返回上级目录:cd..
8、返回根目录:cd/
9、建立文件夹:md 名字
10、显示文件目录:dir
11、删除目录:rd 名字 ------>不能删除有内容的文件夹
12、复制文件:copy 要复制的路径\文件名 目标路径
例子:copy 盘符:\路径\文件名字 盘符:\路径\
13、剪切文件:move 要移动的路径\文件名 目标路径
例子:move 盘符:\路径\文件名字 盘符:\路径\
14、删除文件:del 文件路径\文件名字 注意:如果只写目录,会删除该目录中的所有文件
例子: del 盘符:\路径1\路径2\文件名字
15、删除文件夹中所以文件:del *.*
16、格式化:format:盘符 千万不要尝试!格式化就是重置硬盘数据!清空!
17、键盘上、下,重复之前的代码
测试理论与流程
什么是软件测试?
在规定的条件下对程序进行操作,从而发现错误,对软件质量进行评估的一个过程。
软件测试的目的?
测试的目的:找出软件中潜在的各种错误与缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患以及带来的商业风险。(注意这个问题的答案,经常会与软件测试的定义混淆)
软件测试的定义?
测试的定义:使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
软件测试的原则?
1、所有的测试都应追溯到用户需求
2、应当把“尽早和不断地测试”作为座右铭
3、测试工作应该由独立的专业的软件测试机构来完成
4、Pareto原则,测试发现的错误中80%很可能起源于新开发的20%的模块中。
5、设计测试用例时,应该考虑各种情况。
6、对测试出的错误结果一定要有一个确认的过程(描述缺陷报告)
7、制定严格的测试计划
8、完全测试是不可能的,测试需要终止。
9、注意回归测试的关联性。(回归测试:指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误)
10、妥善保存一切测试过程文档。
软件产品质量模型(ISO/IEC 9126)的定义与特性
软件质量的定义:软件产品满足用户和规定显性需求和隐性需求的程度,包含内部质量
外部质量、过程质量、使用质量
软件质量特性(ISO/IEC 9126软件质量模型)
软件产品质量模型对产品设计时需要考虑的地方进行了高度概括。其中六大特性是指:
1、功能性:是指软件产品在指定条件下使用时,提供满足明确和隐含要求的功能的能力。
2、可靠性:是指在特定条件下使用时,软件产品维持规定的性能级别能力。第一层:设备最好不要出故障;第二层:设备出现故障了不要影响主要的功能和业务;第三层:如果影响了主要功能和业务,系统可以尽快定位并恢复。
3、易用性:是指用户在指定条件下使用软件产品时,产品被用户理解、学习、使用和吸引用户的能力。简单10个字:易懂、易学、易用、漂亮好看(用户体验好)。
4、效率:是指在规定条件下,相对于所用资源的数量,软件产品可提供适当的性能的能力。通常,效率就是我们常说的产品性能(单选、多选例子)。
5、可维持性:是指产品可被修改的能力。这里的修改是指纠正、改进软件产品和软件产品对环境、功能规格变化的适应性
6、可移植性:是指软件产品从一种环境迁移到另外一种环境的能力。这里的环境,可以理解为硬件、软件或组织等不同的环境。(win7、win10、安卓、ios。。。)
软件质量模型保证(SQA)
软件质量模型保证(SQA)------>目的:使软件制作的过程对于领导层是可见的
软件质量保证(SQA-Software Quality Assurance)是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。软件质量保证的目的是使软件过程对于管理人员来说是可见的.它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。软件质量保证组在项目开始时就一起参与建立计划、标准和过程。这些将使软件项目满足机构方针的要求。
软件质量模型保证(SQA)的基本目标(五个基本目标)
1.保证有计划地进行
2.保证遵循了步骤和需求
3.及时通知给对应人员
4.高管可以接触到项目内部
5.软件质量需要软件测试工作来保证
软件质量模型保证(SQA)的目的:使软件制作的过程对于领导层是可见的.
软件质量模型保证(SQA)的定义:它是一套计划和方法来向领导层保证.
软件质量模型保证(SQA)中的QC和QA
QC:检验产品的质量,保证产品符合客户的需求;是产品质量检查者;
QA:审计过程的质量,保证过程被正确执行;是过程质量审计者;
注意检查和审计的不同
检查:就是我们常说的找茬,是挑毛病的;
审计:来确认项目按照要求进行的证据;审计的内容主要是过程;
QC进行质量控制,向管理层反馈质量信息;QA则确保QC按照过程进行质量控制活动,按照过程将检查结果向管理层汇报。这就是QA和QC工作的关系。
QC和QA ------>QC:检验产品的质量 QA:审计过程的质量 工作关系: QC进行质量控制,QA是确保QC按照步骤进行。
软件测试基本流程
1. 需求分析
2. 编写测试用例(测什么 怎么测)
3. 评审测试用例
4. 搭建测试环境
5. 等待开发提交测试包
6. 部署测试包
7. 冒烟测试(对软件主体基本功能进行基本测试)
8. 执行测试用例
9. BUG跟踪处理(提交及回归BUG)
10. N轮之后符合需求
11. 测试结束