软件测试基础1--功能测试

1、什么是软件测试?

        软件是控制计算机硬件运行的工具。

        软件测试:使用技术手段验证软件是否满足使用需求,为了发现软件功能和需求不相符合的地方,或者寻找实际输出和预期输出之间的差异。

        软件测试的目的:减少软件缺陷,保证软件质量。

1.1、测试的主流技能

        接口测试:使用代码,工具对服务端提供的接口进行测试

        功能测试:验证程序的功能是否满足需求文档上的

        自动化测试:使用代码或工具代替人工测试

        性能测试:模拟多人使用软件情景,查找服务器缺陷(bug)

1.2、测试的分类

        按测试的阶段划分:

                单元测试:针对程序源代码测试,比如JUnit

                集成测试:即接口测试,针对每一个模块提供的访问地址进行测试。

                系统测试:对整个系统进行测试,包括功能,兼容性,文档等等测试    

                验收测试:即内侧,公测,使用不同人群发掘系统缺陷

        按代码可见度划分:

                黑盒测试:源代码不可见,根据已实现的功能进行测试,对测试人员的代码阅读力较低

                灰盒测试:部分代码可见,类似于接口测试。

                白盒测试:源代码透明,类似于单元测试。

2、软件的质量模型

        质量模型是衡量软件好坏的维度

功能性:功能数量是否正确(不能多不少),功能是否正确的实现,发生错误时是否能正确处理

性能:服务器每秒处理请求数够吗?硬件配置是否能满足?

兼容性:能在不同的操作系统上运行吗?能在不同内核的浏览器(谷歌,IE,火狐,苹果,欧朋)上使用吗?在不同品牌手机上运行正常吗?在不同网络环境下运行正常吗?

易用性:使用方便吗?页面美观吗?系统流畅吗?界面简洁吗?

安全:信息传输,信息存储是加密吗?

可靠性:是否无响应?是否卡顿?是否崩溃(死机)?

可维护性:后期维护服务器时是否方便?

可移植性:数据迁移,更换服务器时,是否方便?

3.测试流程

        

需求评审:确保各部门理解一致

计划编写:测什么,谁来测,怎么测

用例设计:验证项目是否符合需求文档

用例执行:项目模块开发完成后,进行测试

缺陷管理:项目存在缺陷时,从提出bug到修复bug的全过程

测试报告:实施测试结果文档

3.1、测试用例

        用例是什么:是用户使用的案例,测试用例就是为了测试项目而设计的文档

        3.1.1、设计测试用例的作用

  •                 防止漏测
  •                 实施测试的标准

        3.2.2、测试用例编写格式

                    

用例编号:项目_模块_编号

用例标题:预期结果(测试点)

项目/模块:所属项目或模块

优先级:测试用例的重要程度(P0最高)

前置条件:执行用例前要做的操作

测试步骤:描述怎么测试

测试数据:测试时需要输入的数据,没有为空

预期结果:期望达到的结果

3.2、设计测试点的方法

        3.2.1、等价类划分

        等价类划分适合需要大量输入数据的地方,但是又不能穷举输入测试

        适用于表单的输入框,下拉列表,单选复选框

                

根据需求的长度,类型,规则进行划分

在有效等价类中选一个作为代表,在无效等价类中各选一个作为总共的测试用例

        需求1:验证QQ账号的合法性,QQ账号是6-10位的自然数

        需求2:验证手机号的合法性

        需求3:给你一个花瓶,给出它的测试用例

首先,硬件还要添加一个属性

        1属性测试:花瓶大小,重量,材质,外观

        2功能性测试:插花,装水,养鱼

        3性能测试:防摔,耐高温,耐低温,耐腐蚀,抗压

        4兼容性测试:装水,装饮料,装果汁

        5易用性测试:防滑,便携,方便使用

        6安全性测试:材质健康,不发生化学反应,不易燃易爆

        3.2.2、边界值分析

                边界范围节点:选取上点,离点,内点

                边界值分析一般都要和等价类划分一起使用,先划分等价类,再分析边界值,最后编写用例。适用于有边界范围的输入,至多,至少重量,最大,最少等等。

        

                上点:正好等于边界值的点

                离点:距离上点最近的点,左右各一个

                内点,合法范围内中的点

        需求1:标题大于0,小于等于30个字符

边界值优化,将七个点优化为五个点,即优化离点,开内闭外

        开区间保留内离点,闭区间保留外离点

3.2.3、判定表

        判定表用于解决多条件的依赖问题,判定表适用于4个条件以下,较少的情况。

根据判定表设计的用例,数量是2的条件桩次方

3.2.4、场景法(流程图)

                用流程图表述用户的使用场景,流程图适用于覆盖业务测试,先测试业务,在测试单功能,单页面

        

3.3.5、错误推断法

        通过测试经验,推测系统可能出现,容易出现的问题,只适用于时间紧,任务量大的场景

4、缺陷

        缺陷就是软件使用过程中出现的问题,即BUG

        4.1、缺陷的判断标准

        软件未实现需求规格说明书要求的功能--少功能

        软件实现的功能超出需求规格说明书的要求--多功能

        软件出现了需求规格说明书中指明不应出现的错误--功能错误

        软件没有实现需求规格说明书中未指出但应当实现的要求--隐形功能错误

        软件难以理解,体验差,运行缓慢--不易使用

        4.2、缺陷产生的原因与生命周期

        4.3、发现缺陷后怎么描述

        当发现缺陷时,应该怎么办?

                首先保证该缺陷可以重现,其次确认为bug,之后才可以提交

        4.4、缺陷管理工具

        禅道:在禅道上提交,验证,关闭bug

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

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

相关文章

学习笔记之JAVA篇(0724)

p 方法 方法声明格式: [修饰符1 修饰符2 ...] 返回值类型 方法名(形式参数列表){ java语句;......; } 方法调用方式 普通方法对象.方法名(实参列表)静态方法类名.方法名(实参列表) 方法的详…

【YashanDB知识库】YashanDB的JDBC/OCI驱动如何设置字符编码

问题现象 Oracle、Mysql数据库链接串,JDBC驱动连接串可以指定客户端的编码格式: jdbc:mysql://hostname:port/database_name?useUnicodetrue&characterEncodingutf8mb4 jdbc:oracle:thin://hostname:port/service_name?NLS_LANGUAGEAMERICAN&am…

【SQL语句大全(MySQL)】

SQL语法 添加删除修改查询基本查询条件查询分组函数/聚合函数分组查询排序分页查询(限制查询)多表查询连接查询根据年代分类连接查询根据连接方式分类1、内连接2、左外连接3、右外连接 多张表连接的语法格式 嵌套查询 SQL语句书写顺序 添加 INSERT INTO…

构建生成工具cmake的使用(1)

ps:本文是对cmake的基础讲解,掌握后解决70-80%情况是足以应对的,后续会对cmake有进阶内容。 一 前言 CMake 是一个工具,帮助开发者管理和自动化软件项目的构建过程。它使用一个叫做CMakeLists.txt 的文本文件来描述项目的组织结构、编译选项…

h5图片压缩后变为base64格式的流地址上传服务器

**操作逻辑&#xff1a;前端把图片压缩变为base64格式的流地址&#xff0c;然后把base64格式的流地址传输到后端进行上传到cos服务器 操作流程** 1.前端&#xff1a;我这里是通过uniapp开发h5的&#xff0c;upLoadPutBase64是封装好的上传后端服务器的接口 div写上 <helan…

oracle数据库下的定时任务,如何创建Jobs

oarcle中写存储过程&#xff0c;上面的文章中已经介绍过了&#xff0c;这次是写好存储过程后&#xff0c;在Jobs文件夹中新建job,达到定时执行任务的目的。 1、在plsql数据库中&#xff0c;找到左边的Jobs,右键点击新建&#xff0c;如下图&#xff1a; 2、按照下图将相应的项添…

【Gitlab】SSH配置和克隆仓库

生成SSH Key ssh-keygen -t rsa -b 4096 私钥文件: id_rsa 公钥文件:id_rsa.pub 复制生成的ssh公钥到此处 克隆仓库 git clone repo-address 需要进行推送和同步来更新本地和服务器的文件 推送更新内容 git push <remote><branch> 拉取更新内容 git pull &…

探索 IT 新边疆:元宇宙的无限可能与挑战

目录 元宇宙的基本概念 元宇宙的无限可能 元宇宙与艺术创作 元宇宙中的社交互动 不同文化在元宇宙中的融合与冲突 文化的融合&#xff1a;元宇宙的桥梁作用 文化的冲突&#xff1a;价值观与认同的碰撞 应对策略&#xff1a;促进融合&#xff0c;化解冲突 元宇宙面临的…

LINUX高性能服务器框架

1.服务器模型&#xff1a; 1). C/S模型 &#xff1a; 此模型就是一个服务器能给多个客户端提供服务&#xff0c;但所以资源都被服务端所占有&#xff0c;客户端想要获取只能通过请求连接服务端去获取。由于客户端的请求访问是异步的&#xff0c;所以需要一个手段进行此类事件的…

android user 版本如何手动触发dump

项目需要在android user版本增加手动触发dump方法&#xff0c;用以确认user版本发生dump后系统是重启还是真正发生dump卡机&#xff01; 本文以qcom平台项目为例描述所做的修改&#xff0c;留下足迹以备后忘。 闲言少叙&#xff0c;开整上干货&#xff1a; 一、修改bin文件 …

Typescript学习笔记(2.0)

ts编译选项 tsc app.ts -w 参数-w&#xff0c;就是对app.ts进行监视&#xff0c;每次该文件改变时就会自动编译 **:任意目录 *&#xff1a;任意文件 接口 接口用来定义一个类结构&#xff0c;用来定义一个类中应该包含哪些属性和方法&#xff0c;同时接口也可以当做类型…

Profinet与以太网Ethernet的区别

在工业自动化和网络通信领域&#xff0c;Profinet和以太网Ethernet是两种常见的通信协议。尽管它们都基于以太网技术&#xff0c;但在技术规范、应用领域、通信速度和实时性、系统兼容性和互操作性以及数据处理和网络管理等方面存在显著差异。 一、技术规范和应用领域 以太网 …

爬虫基础之Web网页基础

在探讨爬虫技术的深入应用之前&#xff0c;了解Web网页的基础知识是至关重要的。Web网页是互联网上的基本构成单元&#xff0c;而爬虫则是与这些网页交互的自动化程序。本文将介绍Web网页的基础知识&#xff0c;包括HTML、CSS、JavaScript以及它们在爬虫技术中的角色。 HTML&a…

基于微信小程序的课堂考勤系统的设计与实现(论文+源码)_kaic

基于微信小程序的课堂考勤系统的设计与实现 摘 要 在高校教育普及的今天&#xff0c;学生人数日益增多&#xff0c;为保证课堂质量&#xff0c;教师多要在课前进行考勤。因此本设计提出基于微信小程序的课堂考勤系统&#xff0c;增加了定位功能&#xff0c;避免了“假打卡”…

前端开发知识(一)-html

1.前端开发需掌握的内容&#xff1a; 2.前端开发的三剑客&#xff1a;html、css、javascript Vue可以简化JavaScpript流程。 Element&#xff08;饿了么开发的&#xff09; &#xff1a;前端组件库。 Ngix&#xff1a;前端服务器。 3.前端开发工具&#xff1a;vscode 1)按…

基于Java+SpringBoot+Vue的学生心理咨询评估系统

前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 哈喽兄弟们&#xff0c;好久不见哦&#xff5…

乐尚代驾六订单执行一

加载当前订单 需求 无论是司机端&#xff0c;还是乘客端&#xff0c;遇到页面切换&#xff0c;重新登录小程序等&#xff0c;只要回到首页面&#xff0c;查看当前是否有正在执行订单&#xff0c;如果有跳转到当前订单执行页面 之前这个接口已经开发&#xff0c;为了测试&…

【MySqL数据库的基本语法】

SQL语言&#xff1a;结构化查询语言 DDL&#xff1a;数据定义语言&#xff08;create创建、drop丢弃、删除、alter修改&#xff09; DML&#xff1a;数据操纵语言&#xff08;insert添加、update、delete&#xff09; DQL&#xff1a;数据查询语言&#xff08;select、show、…

Linux嵌入式学习——数据结构——线性表的链式结构

线性表的链式存储 解决顺序存储的缺点&#xff0c;插入和删除&#xff0c;动态存储问题。 特点&#xff1a; 线性表链式存储结构的特点是一组任意的存储单位存储线性表的数据元素&#xff0c;存储单元可以是连续的&#xff0c;也可以不连续。可以被存储在任意内存未被占…

四、单线程多路IO复用+多线程业务工作池

文章目录 一、前言1 编译方法 二、单线程多路IO复用多线程业务工作池结构三、重写Client_Context类四、编写Server类 一、前言 我们以及讲完单线程多路IO复用 以及任务调度与执行的C线程池&#xff0c;接下来我们就给他结合起来。 由于项目变大&#xff0c;尝试解耦项目&#…