软件测试的基础知识(一)
软件测试的基础知识(一)
一、软件测试的定义
软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或将预期结果与实际结果之间做对比。
二、软件测试的分类
1. 以方法划分
1.1 黑盒测试
把程序看作一个不能打开的黑盒子,着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
1.2 白盒测试
白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的,在弄清软件的内部结构和代码细节的基础上,逐步检查语句和条件、代码的路径、数据流、以及各种有效或无效的输入,验证程序是否能按照预期输出结果。
1.3 灰盒测试
灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,不仅关注输出、输入的正确性,同时也关注程序内部的情况。
2. 以阶段划分
2.1 单元测试
对代码块、函数、方法等进行测试(白盒测试),一般由开发人员自己进行测试。
2.2 集成测试
也可以叫接口测试,检查各个模块接口是否连接成功(一般是灰盒测试)。
2.3 系统测试
对整个完整的系统进行测试(一般是黑盒测试)。
2.4 验收测试
分为α测试(内测)和β测试(公测),在这一阶段测试人员只需协助领导或者甲方进行验收,自己并不直接参与。
3. 以方向划分
3.1 功能测试
功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。
3.2性能测试
3.2.1 压力测试
测试软件运行的极限(例如测试新开业的餐厅最多能容纳多少人吃饭,不断加人直到到达一个极限)。
3.2.2 负载测试
测试软件在极限情况下能持续运行多久(例如在餐厅的极限是300人的情况下,工作人员和餐厅设施能持续工作多久),当用户数据不断积累却没有空间存放就会发生内存泄漏。
3.2.3 并发测试
测试多个用户在同一时间进行同一操作时的并发问题。
3.3 安全测试
模拟黑客手段对软件进行攻击,分为渗透测试、DDOS攻击、跨域攻击、SQL注入、暴力破解等。
3.4 UI测试
- 检查界面好不好看
- 界面的风格是否保持一致
- 界面的按钮大小是否保持一致
- 界面是否和设计图保持一致等
3.5 兼容性测试
3.5.1 APP端
android:不同系统、不同屏幕、不同分辨率、不同品牌等,根据市场占有率进行选择。
ios:ios系统的手机基本类似,只测试一种即可。
3.5.2 WEB端
主要对谷歌、新的Edge、火狐、IE等浏览器进行测试。
3.6 易用性测试
- 就是用户体验测试
- 学习成本越低越好
- 功能越简洁越好
3.7 稳定性测试
后端:7*24h持续使用
前端:3-5h持续使用
3.8 APP的专项测试
3.8.1 弱网测试
APP能否在2G、3G、4G、5G、WIFI、热点等不同的网络下正常运行
3.8.2 场景交互测试
- 不同的APP互相切换
- 前后台切换
- 来电话时
- 来短信时
- 来微信语音时等
3.8.3资源争用测试
同一类型的APP同时工作(例如QQ音乐和网易云)。
3.8.4 权限测试
- 关闭权限后,是否影响其他功能的使用
- 使用对应的功能,是否提示给权限
3.8.5 离线测试
断开网络后能否正常使用。
3.8.6 安装、卸载、更新
3.8.7 消息推送
- APP关闭后能否收到推送
- 断网后再联网,之前的消息能否收到
3.8.8 资源监控
- APP大小
- 使用流量
- 使用电量
- 占用内存
- 占用CPU
4. 以对象划分
- APP测试
- WEB测试
- 小程序测试
- 接口测试
- 物联网测试
- 车联网测试
- AI测试
- 大数据测试
- ……
5. 以状态划分
- 动态测试
- 静态测试(主要是检查代码)
6.其他测试类型
6.1 冒烟测试
- 是测试前的测试
- 检查软件是否具备可测试性
6.2 回归测试
检查上次测试发现的问题有没有被修改。
软件测试的基础知识(一)相关推荐
- 软件测试教程基础知识,零基础如何学软件测试
原标题:零基础如何学软件测试 一.软件测试需要哪些知识 很多人都在各大论坛提问"我是零基础该如何学习软件测试".关于这个问题首先应该给零基础定一个范围,到底什么样才是零基础,从来没 ...
- 【软件测试】基础知识笔记(个人用)
文章目录 前言 一.基础知识 1.软件测试的定义.目的 2.生命周期 3.软件测试过程中常用的工具 4.软件测试执行的首要工作 二.用例设计 1.什么是测试用例 2.测试用例八大要素 3.软件质量模型 ...
- 软件测试入门基础知识汇总
第一部分:软件评测知识 1. 软件质量与软件测试 软件测试:在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档.数据以及程序进行测试 软件质量:软件特性的总和,软件 ...
- 软件测试必备基础知识
软件测试基础知识 一.软件测试的定义.目的及原则 (一) 什么是软件测试 概念:拿着需求文档去测试产品,比对预期结果和实际结果是否一致,也就是为了发现程序中的错误而执行程序的过程. 软件测试是使用人工 ...
- 初学者基础软件测试入门基础知识(新手必看!)
软件测试基础概念篇,科普软件测试基础知识,适用于入门 /01/学习方法 关掉抖音,放下手机 专注力 制定小而可实现的目标(把控量很关键) 1000小时理论 劳逸结合 /02/学习目标: 脑子里对软件测 ...
- 软件测试 - 测试基础知识
软件测试知识整理 软件测试 使用人工或自动手段,来运行或测试某个系统的过程.其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别. 贾祥玉 软件测试常用术语 1. ...
- 软件测试入门基础知识1
目录 什么是软件 软件危机与软件工程 软件测试的产生.概念和意义 软件测试的目的和原则 测试的现状和发展 测试人员必备素质 软件缺陷 软件质量 什么是软件 1. 软件的定义 软件是计算机系统中与硬件相 ...
- 软件测试黑盒测试实验心得_软件测试的基础知识
1测试的含义为"以检验产品是否满足需求为目标".而软件测试活动包括了很重要的任务,即发现错误. 2什么是软件测试 广义的概念 指软件生存周期中所有的检查.评审和确认工作,其中包括了 ...
- 软件测试的基础知识(二)
本篇文章,从第二个角度来谈软件测试的方法,按是否需要手工执行来划分,可以分为 手工测试 自动化测试 1.手工测试 指的是由人来一个一个地按照测试用例进行操作,观察结果. 由此可见,手工测试,并不是漫无 ...
最新文章
- 深度揭秘强化学习技术与落地!智源大会「强化学习与决策智能」专题论坛
- Java程序员从笨鸟到菜鸟之(八十八)跟我学jquery(四)JQuery框架操作元素的属性与样式
- java循环语句三角形_JAVA——程序流程控制——循环语句——for循环(打印三角形)...
- 【论文精读】Temporally Refined Graph U-Nets for Human Shape and Pose Estimation From Monocular Videos
- 【PAT甲级 约会】1061 Dating (20 分) C++ 全部AC
- 高效开发--crm开发有悟
- java全局机制,java实现全局异常机制
- 用 npm script 实现服务自动化运维
- 推荐一首歌,个人感觉不错...
- 量子计算机的系统论思考,量子计算机发展带来的思考..doc
- 串行通信的电子密码锁设计全套资料
- python计算个税
- ★三个和尚与机构臃肿的故事
- php yaf twig,GitHub - cheerego/happy_yaf: 搭建一个可用的Yaf,包括Laravel的Eloquent ORM、Twig、脚手架、Whoops和使用用例...
- IDV VDI TCI RDS区别
- 《牧羊少年奇幻之旅》读后感
- C语言设计窗帘自动拉伸,基于st8952的自动窗帘设计.doc
- python毕业设计作品基于django框架 二手物品交易系统毕设成品(8)毕业设计论文模板
- 如何成就百万点击的名博
- Bootstrap部分案例