软件测试定义和分类

什么是软件

软件是计算机程序,程序所用的数据以及有关文档资料的集合

软件是计算机的灵魂,软件又可分为两大类:系统软件应用软件

系统软件:系统软件是生成,准备和执行其他程序所需要的一组文件和程序。如操作系统Windows,数据库SQL-Server,驱动程序(网卡,声卡),Java语言系统编译环境等。

应用软件:计算机用户为了解决某些具体问题而购买,开发或研制的各种程序或软件包。如APP,QQ,微信等。

黑盒测试:数据为驱动的测试

应用架构

C/S与B/S架构

C/S:client-server:安装一个客户端才能使用的软件
缺点:每次更新,都需要更新服务端与客户端。比如超市的收银系统每次更新每台电脑都必须要重新安装客户端。人力物力财力很大。–重启 业务中断

B/S:browser-server:只需要一个浏览器就可以访问服务的,就是B/S。
优点:只需要更新服务器就OK,不需要去更新浏览器。用户主动性比较高。比如淘宝,天猫。

APP:移动端C/S====M/S mobile-server

软件测试

定义

使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

目的

1.发现程序(软件)存在的代码或业务逻辑错误
2.检验产品是否符合用户需求
3.提高用户的体验

分类

按测试技术分

黑盒测试,白盒测试,灰盒测试

黑盒测试:软件理解为黑色盒子–看不见里面的具体实现=输入数据…输出结果=大部分测试=淘宝登录

白盒测试:透明的白色盒子–代码实现非常清楚,看懂代码运行开发自测=单元测试

灰盒测试:不需要代码,大概里面逻辑实现===接口测试

被测试对象是否运行分

动态测试,静态测试(文档检查,代码走查)

按不同的测试手段分

手工测试(点工),自动化测试(工具+代码)–高级

按测试包含的内容分

功能测试,界面测试,安全测试,兼容性测试,易用性测试,性能测试

功能测试:测试需实现功能正常===最常覆盖,最基本测试(通常采用黑盒测试,一般由测试人员独立完成)

界面测试:UI测试–user interface === 产品需求文档 – 原型图-标准; UI设计师 — UI 切图 === 成熟产品实现,用户角度主观审美

兼容性:软件跟第三方软件,依赖软件,系统版本

易用性测试:提供用户体验 — 软件重要因素 — 建议性bug

安全测试:登录 – 用户权限检查;用户隐私信息的泄漏;http/https(测试系统防止非法入侵的能力)

性能测试:用户并发(几千万用户) – 服务器压力; === 工具(Jmeter性能)
(通过自动化的测试工具模拟多种正常,峰值以及异常负载条件来对系统的各项性能指标进行测试)

按测试阶段分 --阶段–流程

单元测试,集成测试,系统测试,验收测试,α测试,β测试

α测试:由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试;测试不能由程序员或测试员完成。

β测试:软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。

其他测试

回归测试,冒烟测试,探索性测试/自由测试(测试思维)

回归测试: – regression test: 开发修复了bug之后,测试除了验证bug本身的功能之外,对没有被修改的功能模块进行测试,确保这些功能没有被这个bug影响(测试策略—正式上线前,全回归)–自动化测试重复繁琐
(指错误被修正后或软件功能,环境发生变化后进行的重新测试,确认修改部分不会对其它功能造成影响)

冒烟测试: – smoking test: --开发提交测试版本,先验证核心业务功能是否可以用;不通过,打回开发重新做版本;通过,进行细化后续测试;–提高测试效率
(冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作)

探索性测试/自由测试:没有依据,测试用例方法 — 依据多年测试经验,测试思维
(测试思维技术。没有很多实际的测试方法,技术和工具。)

灰度测试:系统测试通过后,将测试版本发布到线上环境,替换部分的线上服务器进行预测试。当灰度测试结束后,线上版本实现会统一。本质上是上线前的测试,收集用户的反馈

A/B测试:指的是系统测试通过并发布后,同一个软件功能不同的用户会看到不同的实现方式,收集每个用户的反馈。本质上是上线后的测试,收集用户反馈。

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

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

相关文章

论文阅读--Conservative Q-Learning for Offline Reinforcement Learning

摘要 在强化学习( RL )中有效地利用以前收集的大量数据集是大规模实际应用的关键挑战。离线RL算法承诺从先前收集的静态数据集中学习有效的策略,而无需进一步的交互。然而,在实际应用中,离线RL是一个主要的挑战,标准的离线RL方法…

数字化浪潮下,制造业如何乘势而上实现精益生产

随着数字化技术的迅猛发展,制造业正迎来前所未有的变革机遇。本文将探讨如何利用数字化手段助推制造业实现精益生产,从而在激烈的市场竞争中脱颖而出。 1、构建智能化生产系统 借助物联网技术,实现设备之间的互联互通,构建智能化…

CODEFORCES --- 1676A. Lucky?

1676A. Lucky? 彩票是由六位数字组成的字符串。如果前三位数字之和等于后三位数字之和,则视为幸运彩票。给定一张彩票,输出它是否幸运。请注意,彩票可以有前导零。 输入 输入的第一行包含一个整数 t ( 1≤t≤103 ) - 测试用例的数量。 每…

腾讯云云原生数据库TDSQL-C mysql 以及项目怎么接入

要接入腾讯云的云原生数据库TDSQL-C的MySQL版本,并将它用于你的项目中,你需要按照以下步骤进行: 创建TDSQL-C的MySQL数据库实例: 登录腾讯云控制台。在产品搜索框中搜索TDSQL-C,然后选择它。在TDSQL-C的产品页面上&…

【爬虫】在Scrapy中配置随机User-Agent中间件

祝福这个快要漫出来的杯子吧,让杯里的水变得金光灿烂地流出,把反映你的喜悦的光送往各处! 🎵 罗老师《查拉图斯特拉的前言_漾水》 在网络爬虫开发中,合理使用User-Agent(UA)是绕过服务…

Linux函数学习 select

1、Linux select 函数 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); nfds 最大文件fd 1 readfds 监听可读文件集合fd writefds 监听可写文件集合fd exceptfd 监听异常文件集…

数据结构--循环链表

一.循环链表的设计 1.循环链表的结构设计: typedef struct CNode{ int data; struct CNode* next; }CNode ,*CList; 2.循环链表的示意图: 3.循环链表和单链表的区别: 唯一区别,没有空指针,尾节点的后继为头,为循环之意. 二.循环链表的实现 //初始化free(q);return true; …

Pandas的测试关键词云

文章目录 前言一、pandas是什么? 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学…

git 拉取项目时切换账号密码

一般拉取线上代码的先 1.git clone 2.在输入用户名 3.输入密码 等三步操作,这样子太麻烦了 直接一步操作 git clone http://用户名:密码地址 1 例子 如果你用户叫123xxx 密码是mypassword 地址是git.xxx.com/www.git git clone http://123xxx:mypasswordgit.xxx.com/www.git注…

Spring boot 入门 ---(一),2024年最新java进阶训练营

spring-snapshots http://repo.spring.io/snapshot spring-milestones http://repo.spring.io/milestone spring-boot-starter-parent是使用Spring Boot的一种不错的方式,但它 并不总是最合适的。有时你可能需要继承一个不同的父POM,或只是不喜欢我…

集成sharding-jdbc实现分库分表

集成sharding-jdbc实现分库分表 sharding-jdbc是由当当捐入给apache的一款分布式数据库中间件&#xff0c;支持垂直分库、垂直分表、水平分库、水平分表、读写分离、分布式事务和高可用等相关功能。 1、ruoyi-framework\pom.xml模块添加sharding-jdbc整合依赖 <!-- shard…

自己写的组件中使用v-model双向绑定

这里的时间选择表单是我写的一个组件&#xff0c;我想用v-model获取到实时的ref值。 代码&#xff1a; //父组件<TimePickerModal v-model:value"time" label-text"计划客面时间" /> const time ref(2024-04-09 15:20:00);//子组件<template>…

基于Springboot中小企业设备管理系统设计与实现(论文+源码)_kaic

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&a…

题目:画图,学用rectangle画方形。

题目&#xff1a;画图&#xff0c;学用rectangle画方形。    There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about bei…

Open CASCADE学习|求曲面的参数空间

在三维空间中&#xff0c;任意的曲面都可以通过特定的方法映射到一个二维参数平面上&#xff0c;从而对其进行详细的几何分析和处理。首先&#xff0c;我们需要从三维模型中提取出特定的曲面&#xff0c;这通常被称为“Face”。一个face可以被视为三维空间中的一个封闭区域&…

竞赛升温,量子革命待发

人工智能已经吸引了全球企业巨头和政界领袖的广泛关注。同时&#xff0c;一场激烈的全球竞赛正在展开&#xff0c;目标是开发被许多专家视为下一个领域革命性技术的量子计算。 量子计算机利用量子物理学的原理&#xff0c;有潜力推动包括药物研究、股票市场分析以及数据加密在内…

Celery使用异步、定时任务使用

一、什么是Celery 1.1、celery是什么 Celery是一个简单、灵活且可靠的&#xff0c;处理大量消息的分布式系统&#xff0c;专注于实时处理的异步任务队列&#xff0c;同时也支持任务调度。 Celery的架构由三部分组成&#xff0c;消息中间件&#xff08;message broker&#xf…

虚拟化性能计数器需要至少一个可正常使用的计数器

VMware 虚拟机报错&#xff1a;虚拟化性能计数器需要至少一个可正常使用的计数器。 截图如下&#xff1a; 解决方式参考下图操作即可

<网络> 网络Socket编程基于TCP协议模拟简易网络通信

目录​​​​​​​ 前言&#xff1a; 一、字符串回响 &#xff08;一&#xff09;程序结构 &#xff08;二&#xff09;初始化服务器 &#xff08;三&#xff09;启动服务器 1. 处理连接请求 2. 业务处理 3. 回调函数 &#xff08;四&#xff09;填充server源文件 &…

语音情感识别调研

语音情感识别调研 1、情绪识别综述2、语音情感识别算法3、语音特征提取4、相关项目1、用 LSTM、CNN、SVM、MLP 进行语音情感识别2、DST&#xff1a;基于Transformer的可变形语音情感识别模型3、语音情感基座模型emotion2vec4、IEEE ICME 2023论文&#xff5c;基于交互式注意力的…