【功能测试】part3

目录

目录

一、web手工测试

1、基础环境

2、前置工作

熟悉项目

3、编写测试用例

(1)掌握测试用例编写的基本要求

(2)掌握轮播图功能测试方法(例子)

(3)掌握购物车功能测试方法(例子)

三、非功能测试

1、兼容性

关注点

2、界面测试

如何做测试用例

3、易用性测试

关注点

4、性能

什么时候考虑性能测试

性能测试的目的

5、安全测试

关注点

6、编写测试报告

测试报告的主要内容

四、功能测试与抓包工具

1、HTML与HTTP协议

2、HTTP请求和响应

HTTP请求

HTTP响应

3、HTTP请求和响应的内容

HTTP请求内容

HTTP响应内容

4、HTTP请求方法

POST方式

GET方式

5、Fiddler抓包程序


一、web手工测试

1、基础环境

Linux系统下的环境搭建:LNMP(Linux+Nginx+MySQL+PHP)

Windows系统下的环境搭建:WAMP( Windows+Apache+MySQL+PHP)

#BS架构(server端:Nginx、Apache两种比较常见的软件)

大型项目:Java;小型项目:PHP

web server:

  • 硬件是一个服务器
    • 安装服务器操作系统(Linux、Unix、Windows server)
    • web服务(提供了并发,http协议支持)
  • Niginx
    • Apache
  • 数据库
    • MySQL
    • Oracle
  • 业务功能的开发
    • Java
    • .net
    • Python
    • PHP

2、前置工作

熟悉项目

熟悉项目的步骤

  1. 了解项目的业务特性:项目是用来做什么的?
  2. 了解项目的角色与用户:项目是给谁用的?
  3. 了解项目的组织架构图:项目包括哪些功能模块?
  4. 了解项目的技术栈:项目是使用哪些技术实现的?

熟悉项目的信息来源

  • 项目中已经存在的文档:需求说明书,用户使用手册,测试用例等
  • 使用项目的现有环境:开发环境,测试环境,线上环境等
  • 询问项目中的其他成员:测试组员/组长,开发人员,产品经理等

项目测试流程

  1. 需求评审
  2. 编写测试计划与测试方案
  3. 测试用例设计与评审
  4. 测试执行与BUG跟踪
  5. 编写测试报告

1、需求评审

软件需求

软件需求是指为用户解决某一问题或达到某一目标的所需的软件功能

需求评审

项目相关人员就软件需求进行确认和评估的相关活动

需求评审的目的

保证需求说明书的完整、准确

保证项目团队对需求的理解达成一致

需求评审的形式

需求评审会议

需求评审的参与人员

  • 产品人员
  • 开发人员
  • 测试人员
  • UI设计人员

测试人员在需求评审的职责

  • 确认自己对需求要有清晰的理解,没有疑惑
  • 确认需求文档完整,准确,能够指导后期工作
  • 对需求中不合理的地方提出自己的修改建议

2、编写测试计划和测试方案

测试计划

描述了要进行的测试活动的范围、方法、资源和进度的文档

测试计划的核心内容

  • 明确的测试目标与测试范围
  • 执行计划的角色与职责
  • 任务的进度安排与资源安排
  • 风险估计和应急计划
  • 测试的准入/准出的标准

测试方案

是从测试的技术角度去分析需求,在方向上明确要怎么测,分析结果重点在于测试策略与技术实现

测试方案的核心内容

  • 测试策略
  • 测试环境的规划
  • 测试工具的设计与选择

熟悉项目中的数据库表

  • 表说明书
  • 参考表说明书能梳理表和表的关系
  • 能梳理表字段和项目中具体功能的关系

3、编写测试用例

(1)掌握测试用例编写的基本要求

测试用例需求来源

  1. 需求说明书,产品原型图,UI设计图
  2. 站在用户角度,测试软件的可用性

#如果需求说明书有不明确的地方,一定要和产品经理确认,所有确认的东西都需要留痕,不能口头上说

#包括开完会议之后也要确定有会议纪要

测试用例设计步骤

  1. 需求分析
  2. 整理测试点
  • 测试点是测试中需要关注的具体功能点;
    • 测试点的作用是用来拆分需求,辅助编写测试用例
  1. 编写测试用例

编写测试用例的原则

能看懂--确保每个用例通俗易懂

能执行--测试用例清晰准确,用例中每个步骤都是可执行的

测试结果的几种状态

pass--通过

fail--失败

block--阻塞

NA--忽略

执行测试用例的原则

  1. 严格按照测试用例书写的步骤执行
  2. 失败的用例,及时提交缺陷报告

(2)掌握轮播图功能测试方法(例子)

1、分析轮播图的功能需求

从需求分析报告分析出来

2、测试用例设计步骤

  • 需求分析
  • 编写测试点
  • 测试中需要关注的具体功能点
    • 拆分需求,做为编写测试用例的辅助
  • #测试点:完整的操作为一个测试点
  • 编写测试用例
  • #根据测试点写测试用例(测试点可以根据实际情况修改,减去冗余的)

3、执行测试用例

#一般在执行之前还有评审测试用例

执行的时候严格按照步骤进行并且记录不符合预期结果的

(3)掌握购物车功能测试方法(例子)

三、非功能测试

1、兼容性

项目要求在不同的操作系统、不同的浏览器、不同的平台、不同的分辨率下操作

关注点

OS

不同的操作系统:Windows、Linux、Mac等

相同的操作系统不同的版本:Win7、Win8、Win10等

Browser(浏览器)

不同的浏览器:三大主流--IE、Chrome、Firefox

相同浏览器的不同版本:IE--IE8、IE9、IE11(可以通F12开发人员工具选择IE版本)

其他常用的浏览器,如搜狗、360

注意不同的版本,高速模式(Chrome)、兼容模式(IE)

2、界面测试

界面测试,或UI测试,测试用户界面的功能模块的布局是否合理,各个控件的放置位置是否符合客户使用习惯

如何做测试用例

  • 一般情况下,直接一句产品原型图以及UI效果图,进行对比验证,确认一致
  • 如果没有原型图和UI效果图,从以下几个方面去考虑:
  • 导航测试
  • 图形测试
  • 内容测试
  • 整体界面风格测试

3、易用性测试

是指用户使用软件时是否感觉方便,简单来说就是:易懂、易学、易用、吸引人

关注点

项目难易程度

适用人群

用户的计算机水平

4、性能

性能测试是通过测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试

什么时候考虑性能测试

对软件的性能有要求

用户量大的项目

性能测试的目的

验证软件系统是否能够达到预期的性能指标

发现软件系统中存在的性能瓶颈,以便优化软件

验证稳定性,在一个生产的负荷下测试一定的时间,评估系统的稳定性是否满足要求

5、安全测试

功能模块涉及到用户隐私信息,人身,财产安全的情况

关注点

安全性:登录和密码是否进行加密以及密码是否容易破解

SQL注入:攻击者把SQL语句作为参数传入web应用程序,最终达到欺骗服务器执行恶意的SQL语句

(看看通过SQL语句能不能查询到类似于密码之类的涉及到用户隐私)

6、编写测试报告

测试报告是指把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础

测试报告的主要内容

测试工作的经过与结果

风险评估

缺陷汇总与分析

测试工作总结与改进

四、功能测试与抓包工具

1、HTML与HTTP协议

HTML--超文本标记语言

HTTP--超文本传输协议

在我们日常浏览网页时,使用的就是HTTP协议,输入http网站就可以进入网站

2、HTTP请求和响应

协议交流最基本原理

  • 客户端client--浏览器
  • 服务器server
  • client发一个请求,server回一个响应

HTTP请求

简称请求,指的是从客户端到服务端的请求消息(通俗的说,就是用户希望从服务器得到什么样的消息)

HTTP响应

简称响应,指的是从服务器返回给客户端的请求结果(通俗的讲,用户只有获取到服务器的请求结果之后,才能在浏览器中显示出来)

3、HTTP请求和响应的内容

HTTP请求和响应的内容各自包括三个部分:

HTTP请求内容

在一个完整的HTTP请求中,除了包含要访问的网页地址外,通常还会包含其他内容:

  • 用户使用的浏览器类型:Chrome、Firefox、IE等
  • 用户的浏览器支持的语言:中文/英文
  • ......

这些额外的请求信息,都是在HTTP中规定好的

HTTP响应内容

在一个完整的HTTP响应中,除了包含被访问的页面内容外,通常还会包含以下内容:

  • 状态码
    • 200 表示成功
    • 3XX:表示数据路径发生改变 ---> 重定向302,304
    • 4XX:表示客户端问题,404表示页面没找到,403表示访问的数据被禁止
    • 5XX:表示服务器错误
  • 响应数据的长度,通常返回数据的内容越多,用户等待时间越长
  • 响应数据的类型,除了可以返回网页数据外还可以返回:图片、文字、音乐、视频....

#这些额外的响应信息,也是在HTTP中规定好的

4、HTTP请求方法

POST方式

在网址URL那边不显示账号密码(加密)

通过HTTP请求响应体去提交账号密码

GET方式

在网址URL那边显示账号密码(不加密)

5、Fiddler抓包程序

可以抓取HTTP请求时请求内容和HTTP响应时的响应内容

接口测试的时候可以用

若有收获,就点个赞吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值