测试3.测试方法的分类

news2024/9/23 9:30:34

3.测试分类

系统测试包括回归测试和冒烟测试

回归测试:修改了旧的代码后,重新测试功能是否正确,有没有引入新的错误或导致其它代码产生错误

冒烟测试:目的是确认软件基本功能正常,可以进行后续的正式测试工作

按是否查看代码

白盒(结构测试、逻辑驱动测试):要查看代码,对代码测试,结构测试

黑盒(功能测试):不用查看代码,对功能进行测试 ,看是否符合用户需求

灰盒:介于黑盒白盒,多用于集成测试

按测试对象

业务测试、界面测试、容错性测试、文档测试、

兼容性测试(平台、浏览器、与其他相关软件是否兼容、向前先后兼容)、

性能测试:响应时间、吞吐量、执行间隔等、

内存泄露测试原因:

分配完内存之后没有回收
程序写法有问题,没办法进行回收
某些API函数的使用不正确,造成内存泄露
没有及时释放

3.1.单元测试、集成测试、系统测试的区别“

单元测试

单元测试是对软件组成单元进行测试,其目的是检验软件基本组成单位的正确性,测试的对象是软件设计的最小单位:函数、或者类。通常情况下是白盒的,一般由开发人员测试.能够尽早的发现错误,降低修改成本。

集成测试

集成测试也称综合测试、组装测试、联合测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。其主要目的是检查软件单位之间的接口是否正确,集成测试的对象是已经经过单元测试的模块。

系统测试

系统测试是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方,主要包括功能测试、界面测试、可靠性测试、易用性测试、性能测试。 功能测试主要针对包括功能可用性、功能实现程度(功能流程&业务流程、数据处理&业务数据处理)方面测试。在集成测试之后。 在系统实际运行环境下来进行测试。

三者区别

  • 粒度不同:
  - 单元测试粒度最小,测试的是软件的基本模块或接口
  - 集成测试粒度居中,测试的是集成各个单元模块之间的接口
  - 系统测试粒度最大,测试的是 整个系统的功能和性能
  • 测试方式不同:
  - 单元测试一般由开发小组采用白盒方式来测试;
  - 集成测试一般由开发小组采用白盒加黑盒的方式来测试;
  - 系统测试一般由独立测试小组采用黑盒方式来测试。 
  • 测试内容不同:
  - 单元测试主要测试单元是否符合“设计”;
  - 集成测试既验证“设计’,又验证“需求”;偏技术
  - 系统测试主要测试系统是否符合“需求规格说明书”,偏业务
  • 使用阶段不同:
  - 单元测试为开发人员在开发阶段要做的事情;

  - 集成测试和系统测试为测试人员在测试周期内级层做的工作。 

3.2 验收测试

也称交付测试,是针对用户需求、业务流程进行的正式的测试,以确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。

验收测试包括alpha测试和beta测试,alpha测试是由开发者进行的软件测试,beta测试是由用户在脱离开发环境下进行的软件测试。

3.3 白盒和黑盒的区别

  • 白盒测试

  • 白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,

    • 常见的白盒测试的方法有:语句覆盖,条件覆盖,判定覆盖,条件组合覆盖,基本路径覆盖等等。
  • 优点:可以检测代码的每条分支和路径;可以揭示隐藏在代码中的错误;对代码的测试比较彻底。

  • 缺点:耗费比较大;不能检测到代码中遗漏的逻辑;不能直接验证需求的正确性

  • 黑盒测试

  • 黑盒测试用例设计方法:基于用户需求的测试、等价类划分方法、边界值分析方法、错误推测方法、因果图方法、判定表驱动分析方法、正交实验法、场景法。依据是用户需求规格说明书,详细设计说明书

    • 黑盒测试也称功能测试或数据驱动测试,它不看代码内部的逻辑,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
  • 优点:容易实施,不需要关注内部实现;贴近用户需求。

    • 缺点:覆盖率比较低,因为不知道内部逻辑

3.4 性能测试关注啥

指标:响应时间(RT)、每秒能完成的响应数(TPS)、CPU利用率、内存占用、网络(带宽使用率)、手机app的话还考虑耗电量……

考虑负载加大时,各项指标如何变化,联网的考虑各种不同的网络环境(正常网、超快网、网速慢、断网)时指标的变化

3.5 压力测试关注啥

​ 通常要进行软件压力测试的资源包括内部内存、CPU 可用性、磁盘空间和网络带宽。

3.6并发用户数和在线用户数的区别

在线用户数:用户同时在一定时间段的在线数量

并发用户数:某一时刻同时向服务器发送请求的用户数

(在线用户只要在线就好了,并发用户计算的是和服务器有交流的用户,一般比例5%-20%)

3.7 其他测试的类型

功能测试:关注功能正常(包含兼容性测试),除了下面分类都测;

性能测试:关注(比如前端性能、后端性能);

安全测试:关注传输、存储等安全;

特性测试:特性指平台差异(即部分兼容性测试),如PC端鼠标,键盘操作特性(Tab键等);如手机触屏操作,横竖屏,中断恢复(来电)等

3.8 如何开展第一次测试

1.学习项目所有的文档

2.参加所有会议

3.了解公司的项目管理工具

4.学习用例、缺陷书写规范,工具的使用规范

5.积极主动和负责人以及项目组的人员沟通

3.9 提交一个BUG研发人员不认可怎么办

(1)自查,是否bug描述不清楚 (2)检查缺陷级别。定级要有理有据

(3)让研发站在用户的角度了解bug可能给用户造成的困扰

(4)提高自身的业务水平和技术能力,最好能提出解决方案

(5)好好沟通,不要争吵

(6)需求变更

(7)寻求第三方的帮助,发起Bug评审。

4. Web和 APP测试的区别


App测试和Web测试的区别

1.首先是web和APP的区别:

- web是b/s架构的,基于浏览器;

 -APP是c/s架构的,必须要有客户端。那么在系统测试测试的时候就会产生区别了。 

- Web测试中只要更新了服务器,客户端就会同步更新,而且保证每个用户用的客户端一样;

 - App就不能保证完全一致,因为App客户端需要用户主动更新.

  -如果App测试中修改了服务器,就意味着客户端用户使用的所有核心版本都要进行回归测试  

2.性能方面:

- web主要看响应速度,响应时间;
-  App还看电量、流量、CPU、GPU(图形处理器)、内存…  

3.兼容方面:

web基于浏览器,主要看电脑硬件、电脑系统、浏览器(主要)方面的兼容,选择不同浏览器内核进行测试IE\Chrome\Firefox;

App依赖于手机或平板,关注的系统主要是安卓和ios,还要关心分辨率、屏幕尺寸  

4.App比web测试多一些专项测试:

  - 相比较web测试,app更是多了一些专项测试:弱网测试,安装、卸载、更新,界面操作、触摸手势等   

    - 一些异常场景的考虑以及弱网络测试。这里的异常场景就是中断,来电,短信,关机,重启等。

    - 而弱网测试是App测试中必须执行的一项测试。包含弱网和网络切换测试。需要测试弱网所造成的用户体验,重点要考虑回退和刷新是否会造成二次提交。需要测试丢包,延时的处理机制。避免用户的流失。
- 安装、卸载、更新:
      - web测试是基于浏览器的所以不必考虑这些。而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景。包括安装时的中断、弱网、安装后删除安装文件,更新的强制更新与非强制更新、增量包更新、断点续传、弱网,卸载后删除App相关的文件等等。 
- 界面操作
      - 现在app产品的用户都是使用的触摸屏手机,所以测试的时候还要注意手势,横竖屏切换,多点触控,事件触发区域等测试。

4.1请你讲讲怎样进行web测试

5.测试一款产品/一个功能


(角度)

功能:

性能:响应速度、CPU占用,联网的话考虑多用户并发/弱网环境,app的话考虑耗电量

易用性

兼容性:多平台/多系统/多版本

安全:用户名密码有没有保存功能,数据往服务器传是不是加密的,有没有防止一些脚本或者SQL注入攻击

UI:符合大众期望,有无错别字,排版和颜色搭配

稳定性:压力测试、极端条件测试

(查看产品的使用说明书)

6.软件质量模型的6大特性:


功能性,可靠性,易用性,效率,维护性,可移植性

-功能性:用户要求的功能是否正确实现
-可靠性:在规定的时间和条件下。软件维持性能水平的程度
-易用性:对用户使用的友善性,使用是否方便
-效率性:能否在完成功能的同时,节约资源
-可维护:当需求改变或软件环境发生改变时,对软件修改的难易程度
-可移植:从一个计算机系统或环境移动到另一个计算机系统或环境的难易程度

7. selenium流程、获取元素方法


先import,然后webdriver模拟打开一个浏览器(初始化),获取特定的网址,然后通过获取元素模拟鼠标点击页面上的按钮(或者其他动作,比如在特定的文本框输入特定的内容),(最后quit()一下)

获取元素方法:xpath,css选择器,文本内容……等等,比如find_element_by_xpath、find_element_by_css_selector、find_element_by_link_text

8.自动化测试和手工测试的区别


9. selenium的特点


1.多平台:Firefox \Chrome\edge(MS)、IE\Safari

2.多语言:Java \python\C\C#\ruby

selenium工具集

selenium1: selenium IDE,selenium RC,selenium Grid

selenium2:selenium1+webdriver 相当于出租车司机

selenium3:做了一些更新,增加了edge和Sarafi原生驱动

3.自动化适合什么样的项目:

接口自动化:功能稳定

​ 时机:后台开发完成就可以做接口自动化

Web自动化:功能稳定,界面元素稳定

​ 时机:前后台都开发完成

关闭浏览器:

close:仅仅关闭浏览器

quit:关闭浏览器,清除占用的资源,释放session

10.重要参数

10.1 QPS(每秒查询率)

QPS:每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准

用来衡量服务器的机器性能。

10.2 QPS和TPS的区别

TPS:Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。

是软件测试结果的测量单位。

10.3系统吞吐量

​ 是指单位时间内,系统处理用户的请求数或页面数量,可以直接反映出软件的承载能力。一般来说,利用每秒钟的请求数或页面数量衡量吞吐量;从业务的角度来看,也可以用每天的访问人数或每小时处理的业务数来衡量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/357100.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是 RESTful 风格?

一、什么是 REST ? REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Thomas Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式&#…

游戏开发 - 开发流程 - 收集

1.应用场景 主要用于了解,掌握游戏开发的整个流程。 2.学习/操作 1.文档阅读 复习课 | 带你梳理客户端开发的三个重点-极客时间 2.整理输出 2.1 游戏开发流程 -- 参考 按照游戏开发中的三大模块策划、程序、美术,画了一个图。 开发游戏的时候&#xff…

LeetCode171-Excel表列序号(进制转换问题)

LeetCode171-Excel表列序号1、问题描述2、解题思路:进制转换3、代码实现1、问题描述 给你一个字符串columnTitle,表示Excel表格中得列名称。返回该列名称对应得列序号。 例如: A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 …

linux shell 入门学习笔记3 shebang

shebang 计算机程序中,shebang指的是出现在文本文件的第一行前两个字符#! 在Unix系统中,程序会分析shebang后面的内容,作为解释器的指令,例如 以#!/bin/sh 开头的文件,程序在执行的时候会调用/bin/sh,也就…

[软件工程导论(第六版)]第5章 总体设计(复习笔记)

文章目录5.1 设计过程5.2 设计原理5.2.1 模块化5.2.2 抽象5.2.3 逐步求精5.2.4 信息隐藏和局部化5.2.5 模块独立5.3 启发规则5.4 描绘软件结构的图形工具5.4.1 层次图5.4.2 HIPO图5.4.3 结构图5.5 面向数据流的设计方法目的 总体设计的基本目的就是回答“概括地说,系…

2.19 索引和事务

一.联合查询面试问题:聚合查询与联合查询的区别聚合查询是行与行之间的数据加工聚合函数 :count,sum,avg...group by 进行分组,指定列的值,相同的记录合并到同一个组,每个组又可以分别进行聚合查询分组还可以指定条件筛选,如果分组之前指定条件 用where,如果对分组之后指定条件…

< CSDN周赛解析:第 28 期 >

CSDN周赛解析:第 27 期👉 第一题: 小Q的鲜榨柠檬汁> 题目解析> 解决方案👉 第二题: 三而竭> 解析> 解决方案> 拓展知识👉 第三题: 隧道逃生> 解析> 解决方案👉…

【人工智能AI】四、NoSQL进阶《NoSQL 企业级基础入门与进阶实战》

帮我写一篇介绍NoSQL的技术文章,文章的标题是《四、NoSQL进阶》,不少于3000字。帮我细化到三级目录,使用markdown格式。这篇文章的目录是: 四、NoSQL 进阶 4.1 NoSQL 高可用 4.2 NoSQL 数据安全 4.3 NoSQL 性能优化 4.4 总结 四、…

Vue:extends继承组件复用性

提到extends继承,最先想到的可能是ES6中的class、TS中的interface、面向对象编程语言中中的类和接口概念等等,但是我们今天的关注点在于:如何在Vue中使用extends继承特性。 目录 Vue:创建Vue实例的方式 构造函数方式&#xff1…

3D点云处理:点云聚类--FEC: Fast Euclidean Clustering for Point Cloud Segmentation

文章目录 聚类结果一、论文内容1.1 Ground Surface Removal1.2 Fast Euclidean Clustering题外:欧几里得聚类Fast Euclidean Clustering二、参考聚类结果 原始代码中采用的是pcl中的搜索方式,替换为另外第三方库,速度得到进一步提升。 一、论文内容 论文中给出的结论:该…

java基础学习 day42(继承中构造方法的访问特点,this、super的使用总结)

继承中,构造方法的访问特点 父类的构造方法不会被子类继承,但可以通过super()调用父类的构造方法,且只能在子类调用,在测试类中是不能手动单写构造方法的。子类中所有的构造方法默认先调用父类的无参构造,再执行自己构…

vue3+ts+node个人博客系统(三)

一.主页顶部和中心面板布局 (1) 首先先去element-plus选择合适的布局el-container (2)在头部处编写相应的菜单栏el-menu,在这里要注意动态绑定路由的问题:default-active"$route.path"。将default-active设置为$route.path,el-me…

Java File类、IO流、Properties属性类

文章目录一、补充二、File类File类的含义创建多级文件File类的常见方法三、IO流IO流分类输入输出流FileOutputStreamInputStreamInputStream与OutputStream的实例ReaderWriterFileReader和FileWriter的实例缓冲流转换流序列化与ObjectInputStream、ObjectOutputStream打印流Pro…

MySQL 10:MySQL事务

MySQL 中的事务是由存储引擎实现的。在 MySQL 中,只有 InnoDB 存储引擎支持事务。事务处理可用于维护数据库的完整性,确保批处理的 SQL 语句要么执行要么根本不执行。事务用于管理 DDL、DML 和 DCL 操作,例如插入、更新和删除语句&#xff0c…

JVM10垃圾回收算法

1.什么是垃圾? 垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。 如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占的内存空间会一直保留到应用程序的结束,被保留的空间无法被其…

XLink 和 XPointer 简介

XLink 定义了一套标准的在 XML 文档中创建超级链接的方法。 XPointer 使超级链接可以指向 XML 文档中更多具体的部分(片断)。 您应当具备的基础知识 学习本教程前您应当具备的基础知识: HTML / XHTMLXML / XML 命名空间XPath 如果您希望首先学习这些项…

.NET7的AOT的使用

背景其实,规划这篇文章有一段时间了,但是比较懒,所以一直拖着没写。最近时总更新太快了,太卷了,所以借着 .NET 7 正式版发布,熬夜写完这篇文章,希望能够追上时总的一点距离。本文主要介绍如何在…

九龙证券|重大利好!期货公司打新再“解绑”:可直接参与首发网下配售!

时隔近7年,期货公司及其财物办理子公司参加首发证券网下询价和配售事务再次“解绑”。 2月17日,为适应全面实行股票发行注册制变革需求,中国证券业协会(以下简称中证协)发布《初次公开发行证券网下出资者办理规矩》&am…

NO.1嵌入式入门笔记:常用命令记录

一、前言 Linux文件目录: Linux Shell: 它负责接收用户的输入,根据用户的输入找到其它程序并运行。比如我们输入“ls”并回车时,shell 程序找到“ls”程序并运行,把结果打印出来。Shell有多种实现,我们常用…