软件测试基础学习——前置基础知识

前置基础知识

1.计算机基础

2.HTML

3.CSS

4.JS

5.软件测试理论

1 计算机基础

1.1硬件系统

1.2.软件系统:

(1)系统软件:控制计算机硬件的
a.桌面操作系统:Windows、 MacOS、 Linux
b.服务器操作系统: Linux(安全、免费、稳定)
Windows server(付费、占有率低)
c.嵌入式操作系统:Linux(文件小:例如机顶盒、网络
电视、手机等)
d.移动设备操作系统:iOS、Android

(2)应用软件:QQ、英雄联盟…
(3)b/s、c/s架构
b/s(Browser/Server)即浏览器/服务器架构
c/s (Client/Server)即客服端/服务器架构
b/s、c/s的优缺点:
a.硬件环境不同:C/S使用局域网(局部专用网)
b.安全要求:C/S安全性高,b/s面向所有用户(使用浏览器就可以访问)安全性较低.
c.维护难度不同:C/S表现方式有限,对程序员要求较高。B/S表现方式丰富,开发难度低。
d.处理问题不同:C/S用户固定,安全要求高;B/S面向所有用户。

1.3 常见的单位换算

1B(计算机处理数据的最小单位)=8b(计算机表示数据的
最小单位)
1kb=1024B
1MB=1024kb
1GB=1024MB
1TB=1024GB
1PB=1024TB

1.4 常见的DOS命令

切换盘符: 盘符: 如进入E盘 E:
进入文件夹: CD 文件夹名字 如: cd D:\桌面\软件测试作业
返回上一级文件夹: CD …
返回根目录:CD/
建立文件夹:md 文件夹名字
显示文件目录:DIR
删除目录:rd 名字 (不能删除有内容的文件夹)
复制文件:copy 要复制文件路径\文件名 目标路径
剪切文件: move 要复制文件路径\文件名 目标路径
删除文件:del 文件路径\文件名 (不写文件名会删除该目录下
的所有文件)
删除文件夹下的所有文件: del .
清屏:cls
格式化盘符:format:盘符 格式化硬盘 (温馨提示:不要轻易尝试)

1.5 计算机语言分类

计算机程序就是一组需要CPU处理的二进制数字
a.机器语言:二进制
b.汇编语言:高级一些,简化了中间过程
c.高级语言:c、C++、PyThon、Java等,大大简化了中间过程

1.6 OSI 七层参考模型:

描述了网络活动的特点

应用层:为操作系统或者应用程序提供可用的网络接口。
表示层:信息格式和语法的转化。
会话层: 验证访问和会话管理。
传输层:为应用程序之间提供端对端的逻辑通信。
网络层: 路由和寻址
数据链层:在物理层提供的比特流的基础上,建立相邻节点之间的数据链路,不可靠的物理介质提供可靠传输 ppp协议。
物理层:规定通信设备,通信链路的特性。

1.7 tcp/ip协议:

网络通信协议
应用层
传输层
网络互连层
网络接口层
传输层
TCP(传输控制协议)
TCP三次握手的过程如下:
1、客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。
2、服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)
报文,进入SYN_RECV状态。
3、客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,
进入Established状态。
三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据了。

TCP四次挥手过程
(1) 某个应用进程首先调用close,称该端执行“主动关闭”(active
close)。该端的TCP于是发送一个FIN分节,表示数据发送完毕。
(2) 接收到这个FIN的对端执行 “被动关闭”(passive close),这个FIN由
TCP确认。
注意:FIN的接收也作为一个文件结束符(end-of-file)传递给接收端应用进 程,放在已排队等候该应用进程接收的任何其他数据之后,因为,FIN的接 收意味着接收端应用进程在相应连接上再无额外数据可接收。
(3) 一段时间后,接收到这个文件结束符的应用进程将调用close关闭它的
套接字。这导致它的TCP也发送一个FIN。
(4) 接收这个最终FIN的原发送端TCP(即执行主动关闭的那一端)确认
这 个FIN。既然每个方向都需要一个FIN和一个ACK,因此通常需要4
个分节。

2.HTML

2.1 HTML基础(超文本标记语言)

Web前端标准分类
1 .html结构标准
2.CSS样式标准
3. JS行为标准

2.2 五大厂商浏览器

IE
谷歌
火狐
苹果
欧朋

2.3 html页面

html页面由标签组成
如:

  //描述当前文件的版本信息
           //HTML文件
           // 网页头部
"utf-8">   // 设置编码格式
我的第一个html页面  //网页标题

    //网页主体代码
你好世界   

我的第一个标题

我的第一个段落。

具体学习参考: 菜鸟教程—HTML

3.CSS

具体学习参考: 菜鸟教程-CSS

4.JS

具体学习参考: 菜鸟教程-JS

5.软件测试理论

5.1 什么是软件测试?

在规定条件下对程序进行操作,从而发现问题,对软件质量进行评估的过程。

5.2、软件测试的目的

以最少的人力、物力、时间找到软件中的缺陷并修改、从而回避商业风险。

5.3、软件测试的定义

使用人工和自动化手段来运行程序,目的在于检验是否满足了需求。

5. 4、软件测试的原则

  1、测试证明软件存在缺陷
  2、不可能执行穷尽测试
  3、测试应尽早启动、尽早介入
  4、缺陷存在群集现象
  5、杀虫剂悖论
  6、不同的测试活动依赖于不同的测试背景
  7、不存在缺陷的谬论

5.5 软件质量模型(ISO9126)

    1、功能性
    2、可靠性(a.尽量不出问题;b、出了问题不能影响主体功能     c、影响了主体功能,要能尽快修复)
    3、易用性(用户体验要好)
    4、效率
    5、可维持性(更新)
    6、可移植性(跨越不同系统平台)

5.6、软件质量模型保证(SQA)

目的:使软件制作的过程对于领导层是可见的。
定义;他是一套计划和方法来向领导层保证。
五个基本目标
1、保证有计划地进行
2、保证遵循了步骤和需求
3、及时通知给对应的人员
4、高管可以接触到项目内部
5、软件质量需要测试工作来保证

5.7、qc和qa

qc:检验产品的质量
qa:审计过程的质量
工作关系:qc进行质量控制,qa是确保qc按照步骤执行。

5.8、软件测试流程

  1、编写测试计划
  2、测试需求设计
  3、编写测试方案
  4、编写测试用例
  5、评审测试用例
  6、搭建测试环境、构建测试数据
  7、执行测试用例
  8、缺陷跟踪管理
  9、编写测试报告

5.9 软件测试方法

以是否关注代码内部逻辑来划分。
    1、黑盒测试  (如功能测试)
	2、白盒测试(如单元测试)
	3、灰盒测试(如接口测试)
以是否执行代码划分
	  1、动态测试
	  2、静态测试
  以是否手工执行划分
      1、手动测试
      2、自动化测试

5.10 软件测试类型

1、功能测试
 2、安全测试
 5、安装、卸载测试
 6、文档测试
 3、兼容性测试
 4、接口测试
 7、确认测试
 8、性能测试(并发、负载、压力、容量)
 9、易用性测试
10、回归测试
11、界面测试

5.11 软件测试级别

    1、需求测试
           完整性、正确性、一致性、无二义性
    2、单元测试
   3、集成测试(接口测试)
   4、系统测试
   5、验收测试
       Alpha测试:开发环境(开发在现场)
       Beta测试:真实环境(开发一般不在现场)
       UAT测试:用户接受度测试

5.12 缺陷的等级

严重程度:
   高:系统闪退、系统崩溃、核心功能不能使用,涉及到钱。
   中:一般用户常用的功能有问题。
   低:用户不常用的功能有问题。

修复优先级:
一般和严重程度成正比。
附件包含内容:页面报错的截图、后台日志截图、 数据库
数据的截图、网络请求抓包的数据、 需求、原型图、设计图。

5.13 缺陷(BUG)相关

1、软件缺陷:
定义:缺陷就是软件的问题,最终表现为没有满足用户的需求。

2 、那些属于软件缺陷:

     1、软件未达到规格说明书表明的功能 
	 2、软件出现了规格说明中不会出现的错误
	 3、软件功能超出了规格说明书指明的范围
	 4、软件未达到规格说明书虽未指明但应该达到的目标
	 5、软件测试人员或用户觉得不好。

3 、缺陷的表现形式:

 1.功能、特性没有实现或部分实现
 2、设计不合理、功能不明确、逻辑不清楚或存在矛盾
 3、实际结果和期望结果不同
 4、没有达到规格说明要求的性能目标
 5、运行出错、崩溃、中断、界面混乱
 6、数据不正确、精度不够、不完整或格式不统一
 7、用户不能接受的其他问题,如存取时间过长、界面不美观
 8、硬件或软件存在其他问题

4 软件缺陷的状态

     1、提交 ------测试人员提交了一个缺陷给开发人员
	 2、打开------待处理
	 3、拒绝------程序员认为不是缺陷或者重复,就可以修改状态为拒绝
    4、修复------程序员修复缺陷后提交的一个状态
     5、关闭-------测试人员经过回归测试后,认为此缺陷已经解决,将其关闭
   6、推迟-------可以放在后面的版本解决的问题,但是要详细的写出修复的日期或版本。

5 软件缺陷的严重程度划分

   1、Low ----表面性错误,如错别字
   2、Medium----影响一个相对独立的功能、仅仅发生在特定的条件上、与需求定义不一致、断断续续的出现问题。
   3、High----功能点没有实现、不符合用户的需求、导致数据丢失
   4、VeryHigh----频繁死机、大部分功能不能使用
   5、Cirtical----系统瘫痪、异常退出、死循环、严重的计算错误。

6 软件测试的优先级

1、Low ----时间和资源允许的情况下修复
2、Medium----不会延迟发布、会在以后修复
3、High----会制约开发和测试的进行,需要在发布之前修复
4、VeryHigh----影响系统,产生严重影响
5、Urgent------导致系统几乎不可用。

7软件缺陷的分类

1、系统缺陷
2、数据缺陷
3、数据库缺陷
4、接口缺陷
5、功能缺陷
6、安全性缺陷
7、兼容性缺陷
8、性能缺陷
9、界面缺陷
10、       建议

8、缺陷报告注意事项

           1、简洁、准确、完整
		   2、尽量保证缺陷可以重现
		   3、一个缺陷报告只写一个缺陷

9、缺陷书写规范

    1、标题简洁、提供缺陷的本质信息即可
    2、复现步骤要详细,用数字编号
    3、实际结果要描述清楚复现后的结果
    4、列出期望的结果
    5、提供附件
    6、提供严重性属性和其他公司需要填写的属性
注意:要避免一些常见的错误
	     (1)避免使用情绪化语言和强调标点符号
	     (2)避免使用模糊的词语
	      (3)避免使用自认为幽默的语言,直接描述即可
	      (4)避免提交不确定的缺陷

5.13 缺陷的管理流程

软件测试基础学习——前置基础知识_第1张图片

5.14 测试模型

测试模型
1、V模型
需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试、验收测试。

2、W模型
软件测试基础学习——前置基础知识_第2张图片
3、敏捷测试模型

5.15 测试用例设计

定义:测什么、怎么测?
1 等价类划分法
属于黑盒测试,它将不能穷举的测试过程进行分类,从而保证完整性和代表性
思考步骤:
1、确定有效等价类和无效等价类
2、有效等价类划分(题目条件,边界值和中间的值)
3、无效等价类(与有效等价类相反)
(例子):
软件测试基础学习——前置基础知识_第3张图片

等价类细节:
1、考虑长度
2、考虑输入类型
3、组成规则
4、是否为空
5、是否区分大小写
6、是否重复
7、是否去除表格
2 、边界值
我们在测试过程中,一定要小心边界值(极值),因为在程序过程中这些边界值最容易出问题;
具体测试用例书写思路:找到边界值和它两端的值,分别进行测试;
总结:边界值思想一个应该是选到边界和刚超过的值,来进行测试,也要根据实际情况来选择;边界值和等价类是相辅相成的关系,配合使用的。
3、 因果图
因:输入条件
果:输出条件、结果
适用于输出条件之间有相互制约、相互依赖的情况;
因果图中的符号:
1、恒等:
2、非
3、或
4、与
4、判定表
根据因果图来制作判定表(因果图可以不画)
组成部分:
条件桩:所有条件
动作桩:所有结果
条件项:针对条件桩的取值
动作项:针对动作桩的取值
书写步骤:
1、列出所有的条件和动作桩
2、填写条件和动作桩中的项目
3、简化判定表
注意:如果出现“-”代表此选项不影响最终结果。
例子
软件测试基础学习——前置基础知识_第4张图片

5、 场景法
主要是用来测试业务流程:分为基本流(正确流)和备选流(错误流)。
注意:还要补充一些异常情况;
在冒烟测试中主要采用场景法来测试
6、 流程分析法
适用于有先后顺序的测试;常用于业务流程、安装流程等等。每个流程就是一条测试用例,他只是在测试整体流程是否正确,细节还需要适用等价类、边界值等方法来完善;
7、 错误推断法
凭直觉和经验来设计测试用例,他是根据之前的项目相关的BUG数据总结的
8、 正交表
从全面实验中挑选有代表性的点进行测试(均匀分布,整体可比);高效率、快速、经济的方法;
正交表的使用方法
1、根据控件和取值数选择一个合适的正交表
2、列举取值并编号,生成正交表
3、把取值表与选择的正交表进行映射
混合正交表工具
在实际工作中,很多情况都是因素(控件个数)和水平(每个控件的可选个数)不同,我们在现成的正交表中找不到对应的表格,此时我们就需要使用混合正交表工具来生成混合正交表:
使用步骤;
1.制作取值表(不需要编号,列出数据即可)如;
软件测试基础学习——前置基础知识_第5张图片

  1. 复制表格中的数据到一个TXT文本文档中命名为test01.TXT(无具体要求),保存到allpairs文件夹中
    3.命令行进入到allparirs文件夹中
    4,输入allpairs.exe test01.txt > chenggong.txt
    5.chenggong.txt就是最终生成的混合正交表文件

测试用例方法的选择

1、如果测试功能和流程,要使用场景法。
2、需要输入数据的地方,我们要使用等价类划分法,要注意使用边界值
法来做详细测试
3、如果有条件组合情况,我们要使用因果图制作出判定表
4、配置类软件,组合比较多,我们要使用正交表来科学的选择测试用例
5、如果没有达到覆盖标准,就要增加一些测试用例
6、依靠经验追加一些测试用例(错误推断法)

本文为学习的总结,不对的地方望指正,第一次写在CSDN上写东西。

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