【测试相关工作】

1.测试对象及意义

测试对象:每个公司都有自己的产品(软硬件),针对这一产品开展的一系列工作。

虽然每个公司产品都不一样,但测试的工作和流程都大同小异啦~都是为了让自己的产品符合甲方需求。人活着就是为了甲方(bushi

意义:软件开发的过程是一个持续集成和改进的过程,而每一次的改进都可能引进新bug,因此当软件的一部,或者全部修改时,都需要对软件产品重新进行测试。其目的是要验证修改后的产品是符合需求的。

自动化测试意义:当没有自动化测试代码时,往往会由于各种各样的原因,回归不充分,导致bug遗漏。

2.测试过程

完整的测试过程包括:需求与计划->测试用例->测试执行->测试总结。

每一轮测试重点应该不一样

以web项目举例,产品发布前需通过开发自测、alpha环境测试(即测试环境)、beta环境测试(预发布环境)、以及上线后的回归测试。至于测试的迭代次数,需要具体问题具体分析,可根据代码质量和产品复杂度进行评估,测试的最终目标是保障产品质量,上线前要确保新模块及老模块的核心业务不存在A类问题(严重级别)。

3.软件测试及硬件测试大致分类

硬件测试大致可以分为 功能测试、性能测试、可靠性测试(高温低温(模拟季节)、振动(模拟运输)、盐雾(模拟沿海地带高湿、高盐分的环境影响)、跌落(模拟搬运过程中不慎跌落))、兼容性测试(不同操作系统、设备)、压力测试(其实感觉属于性能测试的一种)、故障注入测试(测试容错机制和应对能力、一般用边界值)、接口测试(可以实现自动化)

软件测试与硬件测试分类大差不差的,感觉是少了一些硬件相关的这些环境的影响(高温啦碰撞这些),举例:

  1. 功能测试:检验软件在各种情况下是否能够正常工作,包括基本的输入输出、界面交互、操作流程等。
  2. 性能测试:针对软件的运行效率和稳定性进行的测试,包括负载测试、压力测试、性能调优等。
  3. 安全测试:评估应用程序的安全等级和识别潜在安全性缺陷的过程。
  4. 兼容性测试:检验软件在不同的操作系统、浏览器和设备上能否运行正常。
  5. 可靠性测试:评估软件的稳定性和可靠性,预防在实际使用过程中出现的故障和错误。
  6. 回归测试:确保修改代码后软件仍然能够正常运行,检查修改后的软件功能不会受到影响,且没有引入新的bug。

此外,软件测试还可以按照开发阶段划分为:

  • 单元测试:针对软件设计中最小单位(程序模块)进行正确性检验的测试工作。
  • 集成测试:在单元测试完成后,将多个模块组合起来进行整体的测试。
  • 系统测试:在真实或模拟系统运行的环境下,验证完整的程序系统是否可以正确的运行。
  • 验收测试:技术测试的最后一个阶段,也称为交付测试,确保软件准备就绪,满足用户需求。

4.一般测试测几轮?每轮测什么?
 

大的迭代:不确定测多少轮,当前未修复的缺陷是一般的且数量少无法找到新bug时进行下一轮测试。
小的迭代:一般进行三轮测试

    第一轮全部过一遍
    第二轮不仅要全部过一篇,同时还要验证上一轮修复的缺陷,在产品稳定的情况下开展兼容性测试
    第三轮回归测试,主要业务流程测一遍,相关的功能测一遍,以往关联的bug验证一下是否重现

测试的目标

未来肯定是更加朝着自动化测试方向进发嘟~感觉企业都在致力于把能自动化的都自动化了

1)提高测试质量

软件开发的过程是一个持续集成和改进的过程,而每一次的改进都可能引进新bug,因此当软件的一部,或者全部修改时,都需要对软件产品重新进行测试。其目的是要验证修改后的产品是符合需求的,而当没有自动化测试代码时,往往会由于各种各样的原因,回归不充分,导致bug遗漏。

2)提高测试效率

软件系统的规模越来越大,功能点越来越多,开发人员的自测或者测试人员的人工测试非常耗时和繁琐,势必导致测试效率的低下,而自动化测试正好解决这些耗时繁琐的任务,在对外接口功能不变的情况下,达到了一次编写,永久使用的效果。

3)提高测试覆盖

通过手工测试很难测试到一些更深层次的异常和安全的问题,通过一些辅助的一些测试工具,能分析出代码的覆盖率,通过覆盖率的提高来提高测试的深度。

4)更好地重现软件缺陷

由于每次执行都是相同的代码,一旦代码出错,必定回归出错;

5)更好定位错误

由于接口测试是一种自下向上的测试,因此一量出错,非常容易定位出错,不向系统测试那样了,一旦有Bug,需要几层验证之后才能确定出错位置;

6)降低修改bug的成本接口测试

基本和开发人员的编码平行工作,因此发现问题会比系统测试早很多,因此减少了修改bug的成本。

7)增进测试人员和开发人员之间的合作关系

测试工程师为了更好地开展工作,需要对开发技术有深入的理解和实践,有了与开发工程师更多的交流。

8)降低了项目不能按时发布的风险

由于接口测试很早就介入,在提交给系统测试前对项目代码的核心模块已经做了详尽的测试,必定加速系统测试的时间,由此来保证项目的按时发布;

9)提升测试人员的技能

做接口测试必须了解开发人员的开发流程和一些开发技能,也需要了解测试工具的一些使用方法和一些测试思想,提升了测试人员的技术附加值,提高了自身的竟争力。

10)促使项目开发过程的规范化

要进行接口,需要完善的文档进行保障,没有测试文档,接口测试将寸步难行,接口测试将增加开发过程规范化产出,而规范化产出也保证了项目质量。

相关参考文章:
原文链接:https://blog.csdn.net/weixin_66882159/article/details/125812344

一个软件项目要经历多少轮测试?

总结49种软件测试方法,你知道几个?_网易订阅

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

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

相关文章

PHP框架有哪些,以及具体对比优缺点

PHP框架有很多,每个框架都有其特定的优势和劣势,适用于不同的开发场景和需求。以下是一些流行的PHP框架及其优缺点的对比: Laravel 优点: 优雅的语法和丰富的功能。强大的ORM(Eloquent)简化数据库交互。拥…

数据驱动和vue的双向绑定有何异同

相同点 数据驱动: 小程序和Vue都采用了数据驱动的方式,即数据的变化会直接导致视图的变化。这是现代前端框架的一个重要特性,它允许开发者更加关注数据本身,而不是手动去操作DOM。自动同步: 当数据发生变化时&#xf…

华为昇腾异构计算架构CANN及AI芯片简介

异构计算架构CANN 异构计算架构CANN(Compute Architecture for Neural Networks)是华为针对AI场景推出的异构计算架构,向上支持多种AI框架,包括MindSpore、PyTorch、TensorFlow等,向下服务AI处理器与编程,…

Open To Buy(OTB)计划:零售业者的库存管理利器

在当今快速变化的服装市场中,如何高效、精准地进行商品管理成为了服装企业竞争的关键。OTB(Open-to-Buy)作为一种有效的商品管理方法,在企业管理中扮演着至关重要的角色。它基于预算、商品计划以及市场需求等多维度因素&#xff0…

Android开发系列(二)Jetpack Compose 之Text控件

Jetpack Compose是一种全新的声明式UI框架,用于构建Android应用程序。Jetpack Compose Text控件是Compose中用于显示文本的基本UI组件。 Text是一个可组合函数,函数声明如下所示。 Composable fun Text(text: String,modifier: Modifier Modifier,colo…

ROS 机器人控制(Python实现)

ROS 机器人控制(Python实现) 实现思路 构建一个新的软件包,包名叫做vel_pkg在软件包中新建一个节点,节点名叫做vel_node.py在节点中,向ROS大管家rospy申请发布话题/cmd_vel,并拿到发布对象vel_pub构建一个…

cmake、make、makefile、ninga的关系

CMake是一种跨平台的构建系统,它用来管理软件的编译过程。CMake可以生成本地平台特定的构建文件,例如Makefile或者Microsoft Visual Studio项目文件,以便开发人员更轻松地在不同的平台上构建他们的项目。它的主要功能是配置和生成构建脚本&am…

AGI 远不止 ChatGPT!一文入门 AGI 通识及应用开发

AI 大语言模型进入爆发阶段 2022 年 12 月 ChatGPT 突然爆火,原因是其表现出来的智能化已经远远突破了我们的常规认知。虽然其呈现在使用者面前仅仅只是一个简单的对话问答形式,但是它的内容化水平非常强大,甚至在某些方面已经超过人类了&am…

k8s上使用ConfigMap 和 Secret

使用ConfigMap 和 Secret 实验目标: 学习如何使用 ConfigMap 和 Secret 来管理应用的配置。 实验步骤: 创建一个 ConfigMap 存储应用配置。创建一个 Secret 存储敏感信息(如数据库密码)。在 Pod 中挂载 ConfigMap 和 Secret&am…

面试专区|【85道Dubbo高频题整理(附答案背诵版)】

简述什么是Dubbo( 概念 ) ? Dubbo是一个分布式服务框架,它提供了高性能和透明化的RPC远程服务调用方案以及SOA服务治理方案。Dubbo致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案,使…

计算机视觉全系列实战教程:(八)图像变换-点运算、灰度变换、直方图变换

图像变换:点运算、灰度变换、直方图变换 1.点运算(1)What(2)Why 2.灰度变换(1)What(2)Why(作用)(3)Which(有哪些灰度变换) 3.直方图修正(1)直方图均衡化 1.点运算 (1)What 通过点运算,输出图像的每个像素的灰度值仅仅取决于输入图像中相对应…

Flask定制命令

Flask定制命令 将函数或方法定制成命令行代码 # 关键字绑定i click.argument(id) app.cli.command(create_user) # 将i作为参数 def create_user(id):conn pymysql.connect(userroot,password"777",host127.0.0.1,databaseflaskdemo,port3306,autocommitFalse)cur…

回文平方数 Palindromic Squares

题目描述 回文数是指从左向右念和从右向左念都一样的数。如 12321 就是一个典型的回文数。 给定一个用十进制表示的正整数 B,输出所有 [1,300] 中,它的平方用 B 进制表示时是回文数的数。 输入格式 共一行,一个单独的正整数 B。 输出格式…

一些常见的显示接口

以下是一些常见的显示接口,包括 MIPI、mini-LVDS、LVDS、HDMI、DisplayPort 等,它们在用途、使用范围、传输速率等方面有所不同。以下表格详细对比了这些接口: 接口类型主要用途使用范围传输速率传输距离备注MIPI DSI移动设备显示接口&#…

【招联消费金融股份】有限公司2024年5月18日【算法开发岗暑期实习】一面试经验分享

招联消费金融股份有限公司2024年5月18日面试经验分享 面试流程:共30多分钟,先3分钟自我介绍,然后细细介绍简历上面的论文和实习信息。问题1:扩散模型的noise schedule有什么研究。问题2:有哪些常见的数学分布问题3&…

开源大模型开发热门项目推荐,涵盖FastSpeech2、OpenNMT和ChatTTS等项目。

开源大模型开发中的几个热门项目 ### 介绍 在这个开源项目如火如荼的时代,我们为您推荐几个备受关注且富有前景的开源项目。从机器学习、人工智能到自然语言处理,这些项目涵盖了各种前沿领域,并致力于推动技术的普及与发展。 ### 项目一&…

新版嘎嘎快充互联互通系统配置文档

宝塔环境配置 登录宝塔账号,安装nginx、mysql5.7、php7.2、supervisor、redisphp安装扩展: 1)安装swooleloader72 将嘎嘎官方提供的swoole_loader_72_nts.so文件上传到 /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718…

删除有序链表中的重复元素

删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次 例如: 给出的链表为1→1→2,返回1→2 给出的链表为1→1→2→3→3,返回1→2→3 数据范围:链表长度满足 0≤𝑛≤100&…

Spring的事务步骤

一、事务处理方案: Spring框架中提供的事务处理方案:一共有两种: 1.适合中小项目使用的, 注解方案: 注解的方式做事务用起来简单,灵活,方便,中小型项目中用它比较方便&#xff0c…

5 分支结构程序-5.5 程序举例

5.5 程序举例,所有的可执行样例 #include <stdio.h>main() {/* 【例 4.11】输入三个整数&#xff0c;输出最大数和最小数。 */// int a, b, c, max, min;// printf("input three numbers: ");// scanf("%d%d%d", &a, &b, &c);// if (a …