软件测试01
一、认识软件及测试
1、什么是软件
控制计算机硬件工作的工具
2、软件的基本组成
页面客户端------请求----->代码服务器-------请求------>数据服务器
3、软件产生过程
需求产生------->需求文档------->设计效果图------->产品开发-------->产品测试
把测试结果和需求文档进行对比,看是否符合
4、什么是软件测试
软件测试:使用技术手段验证软件是否满足使用需求
5、软件测试的目的
找出软件的错误bug
减少软件的缺陷,保障软件的质量
二、测试的主流技能
1、功能测试
eg:
| 测试步骤 | 测试数据 | 预期结果 |
|---|---|---|
| 1、输入手机号2、点击发送验证码按钮3、输入验证码4、勾选协议5、点击登录 | 1、手机:已注册手机号2、其他输入正确数据 | 1、手机文本框状态为绿色2、登录成功,跳转到主页 |
说明:功能测试主要验证程序的功能是否满足需求
2、自动化测试
通过工具(代码)来测试功能
说明:使用代码或工具代替手工,对项目进行测试
3、接口测试-代码和工具
说明:使用代码或工具对服务端的接口进行测试
4、性能测试-工具实现和代码实现
说明:模拟多人使用软件,查找服务器缺陷。
高并发
就业方向选择?
方向1:功能测试+接口测试
方向2:功能测试+性能测试
方向3:功能测试+web自动化
三、常见的测试分类
1、按测试阶段分
-
单元测试:针对程序的源代码测试,开发人员交付之前需要先自测
-
集成测试:又称为接口测试,针对模块之间访问地址进行测试,比如登录和注册连接起来测试
-
系统测试:对整个系统进行测试包括功能、兼容、文档等测试
-
验收测试:主要分为内测、公测、使用不同人群来发掘项目缺陷
2、按代码可见度划分
-
黑盒测试:源代码不可见、UI功能可见(User Interface 用户接口---软件界面)
-
灰盒测试:部分源代码可见、功能可见
-
白盒测试:全部代码可见、UI功能可见
四、模型
质量模型
说明:衡量一个优秀软件的维度
需求:
(1)开发一款网络游戏(要求:10个主功能)
(2)游戏支持web(浏览器)端、APP端
(3)游戏上线后预计每日,20w用户玩家在线
八大性能:
-
功能性:明确功能数量,功能正确实现,错误处理情况
-
性能:(在线人数20w)服务器每秒处理的请求数、服务器硬件配置是否满足!
-
兼容性:浏览器(谷歌、IE、火狐、鸥朋、苹果)、操作系统(windows10、7、8、11,Linux)、手机(分辨率、品牌、系统、网络、其他)
-
易用性:简洁、友好、流畅、美观
-
可靠性:无响应、卡顿(响应时间慢)、死机(系统崩溃)
-
安全性:信息传输加密、存储加密
-
可维护性:核心代码都有说明,代码独立
-
可移植性:数据量越来越多,更换服务器
目标:能够说出核心质量模型中重要的五项:功能、性能、兼容、易用、安全
五、软件测试流程
-
需求评审:甲方提出需求、产品经理了解需求,各部门需求理解保持一致,测试人员要了解有几个功能,从而根据项目类型编写测试计划
-
计划编写:测什么、谁来测、怎么测
-
用例设计:验证项目是否符合需求的操作文档
-
用例执行:项目模块开发完成,开始执行用例文档,实施测试
-
缺陷管理:实际结果和测试结果不一样,对缺陷进行管理
-
测试报告:实施测试结果文档
面试题:测试流程
六、测试用例
1、什么是用例
说明:用户使用的案例
例如:
是否能开机:打开手机按下电源键3秒,看是否能开机
验证内存:打开手机设置查看内存是否是64G
验证屏幕:打开手机在白屏背景下检查屏幕是否有黑色点
检查运行速度:打开手机下载吃鸡游戏,是否运行流畅
2、什么是测试用例
说明:为测试项目而设计的执行文档
3、用例的作用
防止漏测
实施测试的标准
4、用例编写格式
-
用例编号 : 项目+模块+编号
-
用例标题 :预期结果
-
项目/模块:所属项目或模块
-
优先级:表示用例的重要程度或者影响力p0~p4(p0最高)
-
前置条件:要执行此条用例,有哪些前置操作
-
测试步骤:描述操作步骤
-
测试数据:操作的数据,没有的话为空
-
预期结果:期望达到的结果
5、用例练习
根据以下测试点编写测试用例
需求:QQ登录(4条测试用例)
1、账号为空
2、账号未注册
3、密码为空
4、密码错误

相关文章:
软件测试01
一、认识软件及测试 1、什么是软件 控制计算机硬件工作的工具 2、软件的基本组成 页面客户端------请求----->代码服务器-------请求------>数据服务器 3、软件产生过程 需求产生------->需求文档------->设计效果图------->产品开发-------->产品测试 …...
【IBIS 模型与仿真 - IBISWriter and Write_IBIS】
本文将介绍如何从用户设计中编写自定义IBIS模型。 本文是 SelectIO 解决方案中心(Xilinx 答复 50924)的设计助手部分(Xilinx 答复 50926)的一部分。 原文链接:https://support.xilinx.com/s/article/50957?languagee…...
[题] 筛质数 #质数(素数)
题目 AcWing 868. 筛质数 题解 方法一:朴素筛法 及其优化:埃氏筛 从2~n枚举 i,再从小到大枚举所有已知的质数 primes[j],筛掉合数 i*primes[j],遇到新的质数就入队 枚举所有小于n的数i,将i的所有倍数筛掉。 筛完后剩下的数就是质数。 朴素做法 void ge…...
C进阶-语言文件操作
本章重点: 什么是文件 文件名 文件类型 文件缓冲区 文件指针 文件的打开和关闭文件的顺序读写文件的随机读写文件结束的判定 1. 什么是文件 磁盘上的文件是文件。 但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件 1.1 程序文件…...
17-spring aop调用过程概述
文章目录 1.源码2. debug过程1.源码 public class TestAop {public static void main(String[] args) throws Exception {saveGeneratedCGlibProxyFiles(System.getProperty("user.dir") + "/proxy");ApplicationContext ac = new ClassPathXmlApplicatio…...
微信小程序------框架
目录 视图层 WXML 数据绑定 列表渲染 条件渲染 模板 wsx事件 逻辑层 生命周期 跳转 视图层 WXML WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。 先在我们的项目中…...
Cross-Modal Joint Embedding with Diverse Semantics
计算两个嵌入之间的相似度得分,然后利用损失函数进行联合嵌入损失最小化优化并更新参数 辅助信息 作者未提供代码...
工具 | macOS 最简方式安装 adb 工具 | Mac
工具 | macOS 最简方式安装 adb 工具 | Mac 介绍 ADB(Android Debug Bridge)是 Android开发工具包(SDK)中的一项实用工具,用于与 Android 设备进行通信和调试。 在 macOS 操作系统上安装 ADB 环境可以帮助开发人员与…...
linux进阶(脚本编程/软件安装/进程进阶/系统相关)
一般市第二种,以bash进程执行 shelle脚本编程 env环境变量 set查看所有变量 read设置变量值 echo用于控制台输出 类似java中的sout declear/typeset声明类型 范例 test用于测试表达式 if/else case while for 函数 脚本示例 软件安装及进阶 fork函数(复制一个进程(开启一个进…...
谷歌云:下一代开发者和企业解决方案的强力竞争者
自从2018年Oracle前研发总裁Thomas Kurian加入谷歌云(Google Cloud)并出任谷歌云CEO以来,业界对于谷歌云的发展就十分好奇。而谷歌云的前任CEO Diane Greene曾是VMware的创始人之一,那么两任企业级技术和解决方案出身的CEO&#x…...
任务分配问题(回溯法)
算法设计 问题描述 有n(n≥1)个任务需要分配给n个人执行,每个任务只能分配给一个人,每个人只能执行一个任务。 第i个人执行第j个任务的成本是c[i][j](1≤i,j≤n)。求出总成本最小的分配方案 …...
华为OD 字符串消除(100分)【java】A卷+B卷
华为OD统一考试A卷+B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目,A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载,请点击以下链接进入: 我用夸克网盘分享了「华为O…...
索引背后的数据结构——B+树
为什么要使用B树? 可以进行数据查询的数据结构有二叉搜索树、哈希表等。对于前者来说,树的高度越高,进行查询比较的时候访问磁盘的次数就越多。而后者只有在数据等于key值的时候才能进行查询,不能进行模糊匹配。所以出现了B树来解…...
面试用-常用注解
Configuration 注意由ConfigurationClassPostProcessor来处理ConfigurationClassPostProcessor执行这个后置处理 ConfigurationClassParser.parse执行这个方法里面会解析很多注解。1、Component 对于Component也是一样递归调用parse方法,一层层解析…...
【c++】跟webrtc学std array 4: H264PacketBuffer 包缓存
H264PacketBuffer m98代码:H264PacketBuffer 类似于PacketBuffer ,但仅用于H264// The H264PacketBuffer does the same job as the PacketBuffer but for H264 // only. To make it fit in with surronding code the PacketBuffer input/output // classes are used. 因此,…...
Nodejs Web数据库应用演示实例
Nodejs Web应用基础演示实例 Web数据库应用 一、服务器端 var express require(express); var app express(); var mysql require(mysql);//设置静态资源目录public app.use(express.static(__dirname /public));//创建mysql数据库访问连接(数据库主机地址&a…...
Vue 中setup的特性
特性四:父传子组件传参【defineProps】: 父组件(传递数据):利用自定义属性传递数据。 <template><h3>我是父组件</h3><hr /><Child :name"info.name" :age"info.age"…...
Peter算法小课堂—正整数拆分
大家可能会想:正整数拆分谁不会啊,2年级就会了,为啥要学啊 例题 正整数拆分有好几种,这里我们列举两种讲。 关系 我们看着第一幅图,头向左转90,记住你看到的图,再来看第二幅图,你…...
EDUSRC--简单打穿某985之旅
免责声明: 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…...
vue2升级到vue2.7
vue2升级到vue2.7 小小的改进,大大的提升 只需要简单修改,开发体验得到大大提升. 为什么要升级Vue2.7 不能拒绝的理由: 组合式 API(解决mixins问题:命名冲突,隐式依赖)单文件组件内的 <script setup>语法模板表达式中支持 ESNext 语法(可选链:?.、空值合并:??)单文…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...
《Docker》架构
文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器,docker,镜像,k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...
大数据驱动企业决策智能化的路径与实践
📝个人主页🌹:慌ZHANG-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:数据驱动的企业竞争力重构 在这个瞬息万变的商业时代,“快者胜”的竞争逻辑愈发明显。企业如何在复杂环…...
