大佬总结入职阿里,软件测试常见基础题绝不能忘

news2024/11/26 10:28:54

什么是软件测试

  正向思维:验证程序是否正常运行,以及是否达到了用户预期的需求。

  逆向思维:通过执行测试用例发现程序的错误和缺陷。

  关键字:正常运行、用户需求、发现错误。

  软件测试的目的是什么?

  找出软件中潜在的错误和缺陷,通过修复错误和缺陷提高软件的质量,回避软件发布后因缺陷或错误带来的商业风险。

  关键字:发现错误、提高质量、避免风险。

  黑盒、白盒的区别

  黑盒测试(数据驱动测试、功能测试):不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。

  白盒测试(逻辑驱动测试、结构测试):已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。

  什么是灰度测试?

  概念:灰度发布的过程是一个渐进的过程,其实这才是一种正确、规范、安全的发布过程。

  影响:灰度发布可以在原有的Alpha版本之后增加了更大范围的外部测试,是一个不断的放量过程,通过这样的发布过程可以使产品的问题暴露出来,而不会影响到全部的用户,最终可以让产品最大程度稳定适合用户。

  负载测试、压力测试性能测试、容量测试的区别

  性能测试:获得系统在某种特定条件下的性能指标数据。

  负载测试:通过加压,观察系统的响应时间、吞吐量等,直到系统的极限性能指标。

  压力测试:通过增加负载,查看系统在峰值使用情况下的操作行为,容错、可恢复能力,发现隐患。

  容量测试:系统承受大量数据,测试系统是否能够正常处理,通常和数据库有关。

  什么是回归测试?

  抽象说法:在程序有修改的情况下,保证原有功能正常。

  具体说法:测试时发现bug -》开发修改 -》打了新包 -》重新测试,保证程序在修正了bug之后正常运行,且不会带来新的错误。

  什么是冒烟测试?

  新版本验证测试,主要确认新的版本是否存在致命性bug,新功能正常运行,不影响下一轮测试。

  系统测试的16个测试策略

  功能测试、安全测试、容量测试、性能测试、压力测试、稳定性测试、可用性测试、健壮性测试、GUI测试、安装测试、配置测试、异常测试、备份测试、文档测试、在线帮助测试、网络测试。

  测试流程(各有千秋)

  1、测试人员参与需求评审、交互评审、视觉评审;理解需求,进行需求分析

  2、测试负责人编写测试计划,分配测试任务,评估测试周期。

  3、测试人员整理交互or需求疑难点,确认异常场景or特殊情况下的交互细节,最好是能划出新功能的数据流图&流程图。

  4、测试人员编写测试点,转化测试用例,评审测试点or测试用例。

  5、开发送测(提测)前,开发自行走查,产品视觉验收,若有必要,测试可介入冒烟测试。

  6、送测(提测)阶段,缺陷管理,发现bug,提交bug。

  7、博主这边是分A1,A2,A3...阶段,一般A1新功能测试用例&主流程回归,A2验证bug&交叉测试&拓展测试,A3验证bug&拓展测试。

  8、预发(灰发)环境验证。

  9、线上环境验证。

  10、版本复盘。

  黑盒测试相关

  黑盒测试主要是为了发现以下几类错误:

  1、是否有不正确或遗漏的功能?

  2、在接口上,输入是否能正确的接受?能否输出正确的结果?

  3、是否有数据结构错误或外部信息(例如数据文件)访问错误?

  4、性能上是否能够满足要求?

  5、是否有初始化或终止性错误?

  黑盒测试优点

  1、比较简单,不需要了解程序内部的代码及实现,因为与内部实现无关;

  2、从用户角度出发,能很容易地知道用户会用到哪些功能,会遇到哪些问题;

  3、基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;

  4、在做软件自动化测试时较为方便。

  黑盒测试缺点

  1、不可能覆盖所有的代码,覆盖率较低;

  2、部分路径不能测试到,不能测试程序中隐藏的错误;

  3、自动化测试的复用性较低。

  黑盒测试方法

  等价类、边界值、因果图、判定表、状态迁移、正交实验、场景法、错误推断。

  自动化测试相关

  自动化测试的优点

  1、回归测试更方便,由于回归测试的额动作和用例是完全设计好,测试结果也是可以预料的,将回归测试自动运行,可以提高测试效率,缩短回归测试时间;

  2、运行更多更繁琐的测试;

  3、可以执行一些手工测试困难的测试,可以通过自动化测试模拟同时有大量用户的测试;

  4、测试具有一致性和可重复性,每次测试的结果和执行的内容的一致性可以得到保障,达到测试的可重复的效果;

  5、测试的复用性,实现在不同的测试过程中使用相同的用例;

  6、测试的执行可靠性,按脚本执行,后续定位复现有明确的路径可循;

  7、资源利用率高,人力成本低;

  8、基本的、逻辑性不强的操作,性能测试、压力测试、回归测试,自动化测试很大优势。

  自动化测试的缺点

  1、手工测试比自动测试发现的缺陷更多;

  2、对测试的依赖性大;

  3、只适合回归测试;

  4、手工测试编写时间少于测试脚本编写时间;

  5、手工测试可以靠人的想象力去测试, 而工具是死的;

  6、自动化测试可能会制约软件开发,脚本维护会受到限制,从而制约软件的开发。

  总结:自动化测试是对手工测试的一种补充,自动化测试不可能完全替代手工测试,因为很多数据的正确性、界面是否美观、业务逻辑的满足程度等都离不开测试人员的人工判断。

  APP常见测试点

  1、安装、卸载 apk上安装与卸载,在工具上可以安装卸载;

  2、兼容性测试:系统版本、安卓版本、尺寸;

  3、异常测试:断网、断电、服务器异常情况下,客户端是否正常处理;

  4、在线升级测试:在线升级,升级后可以正常使用;

  5、易用性测试:操作简单,符合用户使用习惯;

  6、交互性测试:来电、来短信、低电量测试、拔充电线会不会影响app;

  7、功能测试:检验功能是否符合需求,涉及到UI层、接口、数据、服务端、代码逻辑等;

  8、稳定性测试:通过Monkey命令行工具,对正在开发的应用程序进行压测,向系统发送伪随机的用户事件流(按键输入、触屏输入、手势输入)进行压测;

  9、安全测试:是否容易被外界破解,是否存在被恶意代码注入的风险;

  10、性能测试:应用测试、ROM测试、客户端运行时设备的CPU、GPU、流量、耗电量,响应时间;

  11、自动化测试:robotium、Appium;

  12、外网场景测试:不同网络场景,wifi、3g、4g、电信、移动、联通、弱网场景,通过fiddler;

  13、中断测试(电话接入、来短信、电量不足提示等外部事件)。

  冒烟测试和回归测试的区别

  冒烟测试:新版本验证测试,主要确认新的版本是否存在致命性bug,功能可以正常运行,不会影响下一轮测试,不要求覆盖面有多广,但是要保证被测对象的主功能点得到测试,还要保证所有被修改过以及修改相关的功能都是可用的,若都通过则可以进行系统测试。

  回归测试:是软件维护阶段对软件修改后进行的测试,指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

  静态测试和动态测试的区别

  静态测试:不运行被测程序本身,通过评审文档和阅读代码等方式测试软件。

  动态测试:通过运行被测程序,检查运行结果与预期结果的差异,通常使用白盒和黑盒测试从不同的角度设计测试用例来查找代码中的错误。

  关键字:

  不运行、文档、代码

  运行、结果差异、黑盒白盒

  α、β、λ测试的区别

  α测试:是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试,目的是评价软件产品的FURPS(即功能、可使用性、可靠性、性能和支持)。

  β测试:是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成(文档、客户培训、产品支持、可支持性)。

  λ测试:是第三个阶段,此时产品已经相当成熟,只需在个别地方再做进一步的优化处理即可上市发行。

  负载测试、压力测试和性能测试的区别

  性能测试:为了获得系统在某种特定的条件下(包括特定的负载条件下)的性能指标数据。

  负载测试:模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(逐渐增加模拟用户的数量)或其他加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存),以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。负载测试更多地体现 了一种方法或一种技术

  压力测试:在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。压力测试分为高负载下的长时间的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。

  什么是需求文档测试?

  测试需求中是否存在逻辑矛盾以及需求在技术上是否可以实现。

  关键字:测试需求、逻辑矛盾、技术实现。

  什么是设计文档测试?

  测试设计是否符合全部需求以及设计是否合理。

  关键字:测试设计、符合需求、是否合理。

想学习却无从下手,该如何学习?

这里我准备了对应上面的每个知识点的学习资料、可以自学神器,已经项目练手。

世界的模样取决于你凝视它的目光,自己的价值取决于你的追求和心态,一切美好的愿望,不在等待中拥有,而是在奋斗中争取。
如果我的博客对你有帮助、如果你喜欢我的文章内容,请 “点赞” “评论” “收藏” 一键三连哦!

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

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

相关文章

Vue数据代理

数据代理: 1.Vue中的数据代理: 通过vm对象来代理data对象中属性的操作(读/写) 2.Vue中数据代理的好处: 更加方便的操作data中的数据 3.基本原理: 通过Object.defineProperty()把data对象中所有属性添加到vm…

MySQL数据库总结 之 函数命令总结

MySQL命令语句中的函数包含四种: 字符串函数数值函数日期函数流程函数 前两篇关于MySQL的博客,地址如下: MySQL数据库 && SQL语言命令总结 && 数据类型、运算符和聚合函数汇总_Flying Bulldog的博客-CSDN博客https://blog.…

Flink 源算子之 DataGeneratorSource DataGenerator

目录 1、功能说明 2、API使用说明 3、代码示例 1、功能说明 从Flink1.1开始提供了DataGen连接器,它提供了Source类的实现(可并行的源算子),用来生成测试数据,在本地开发或者无法访问外部系统(如kafka)时&#xff0c…

java连接数据库的5种方式

方式一直接导入第三方库驱动类 这种加载方式在jdbc入门时已经用过,这个driver属于第三方库,。为静态加载,灵活性差,依赖性抢 方式二使用反射机制获取 方式一和方式二代码 package com.hsp.edu;import com.mysql.cj.jdbc.Driver;i…

【FFmpeg实战】音频重采样

转载自原文地址: https://www.cnblogs.com/zjacky/p/16529648.html 重采样: 将音频进行SDL播放的时候,因为当前的SDL2.0不支持plannar格式,也不支持浮点型的,而最新的FFpemg会将音频解码为AV_SAMPLE_FMT_FLTP&#xf…

LORA模型原理详解+分层控制使用

一、前言 LoRA模型全称是:Low-Rank Adaptation of Large Language Models,可以理解为Stable-Diffusion中的一个插件,仅需要少量的数据就可以进行训练的一种模型。在生成图片时,LoRA模型会与大模型结合使用,从而实现对…

一张SSL证书支持绑定多个域名吗?

一张SSL证书可支持绑定多个不同类型的域名,选择多域名SSL证书(SAN SSL)或通配符SSL证书(Wildcard SSL)类型,就可以实现一张SSL证书绑定多个域名,但绑定的域名类型有些不同。 1、多域名SSL证书&a…

Golang语言介绍、环境搭建以及编译工具( CDN 加速代理)

Go 语言是非常有潜力的语言,是因为它的应用场景是目前互联网非常热门的几个领域,比如 WEB 开发、区块链开发、大型游戏服务端开发、分布式/云计算开发。国内比较知名的B 站就是用 Go 语言开发的,像 Goggle、阿里、京东、百度、腾讯、小米、36…

人工智能开发人员工作流程、看法、工具统计数据

人工智能开发人员工作流程、看法、工具统计数据 本文目录: 一、人工智能开发所需要的技能和知识 二、开发人工智能需要以下工具 2.1、开发过程中的人工智能工具调查 2.2、AI 工具情绪调查 2.3、AI 工具的优势调查 2.4、人工智能工具的准确性调查 2.5、开发工…

rails console (SQL)查找语句

find可以查找一个 where可以查找多个

Flink DataStream之从集合/文件读数据

从集合中读数据方式一 package test01;import org.apache.flink.api.common.eventtime.WatermarkStrategy; import org.apache.flink.connector.file.src.FileSource; import org.apache.flink.connector.file.src.reader.TextLineInputFormat; import org.apache.flink.core.…

牛客·轻拍牛头

b[i]:输入 a[i]:计数 c[i]:答案void solve() {cin>>n;for(int i0;i<n;i){cin>>b[i];a[b[i]];}for(int i1;i<NN;i){if(a[i]){for(int ji;j<NN;ji)c[j]a[i];}}for(int i0;i<n;i){cout<<c[b[i]]-1<<\n;} }

【深度学习】contrastive loss与triplet loss

自己总结一下&#xff0c; 三元组如果正负样本足够开&#xff0c;距离足够远&#xff0c;loss为0&#xff0c;因为模型已经学的不错了&#xff0c;不需要继续学习。 最好的负样本是&#xff0c;model预测负样本的把握不太大的。 如果负样本是很难分的&#xff0c;例如d(a,p)>…

数据结构:Mysql索引原理(通俗易懂)

目录 前言正文索引结构-数组无序数组有序数组 索引数据结构-HashHash冲突-链式寻址法Hash冲突-再哈希法Hash冲突-开放地址法 索引数据结构-树二叉树平衡二叉树红黑树红黑树的特性红黑树如何减少旋转 B树B树 Mysql的索引一级索引二级索引 总结 前言 在工作中如果经常写业务代码…

信号链噪声分析4

目录 概要 整体架构流程 技术名词解释 技术细节 5.计算信号链的噪声 噪声谱密度 重点注意事项 有源滤波器配置 小结 概要 提示&#xff1a;这里可以添加技术概要 本文介绍对高速宽带宽信号链进行噪声性能理论分析的各个步骤。尽管选择了一个特 定信号链&#xff0c;…

传统商超巨头折戟即时零售

今年的618&#xff0c;包含沃尔玛、永辉、大润发、华润、物美、麦德龙、盒马、联华、家家悦、中百、华联在内10大商超巨头都集体“失声”了。 值得注意的是&#xff0c;今年618不仅各大商超没有公布相关数据&#xff0c;且在所有即时零售平台中&#xff0c;仅有商超到家的合作…

怎么用postman进行自动化接口测试,终于学到了

​ 目录 背景描述 创建一个GET请求 在pre-request scripts构建签名 脚本写在环境变量中 postman console的用法 Collection Runner 自动化API测试 创建接口的测试用例 选择并运行自动化接口测试 测试结果 总结&#xff1a; 背景描述 有一个项目要使用postman进行接…

元宇宙虚拟人物3d建模贯穿产业链数字化转型全链条

随着5G、AI、VR/AR、区块链、云计算、脑机等技术的发展&#xff0c;给构建这个虚拟的宇宙提供了技术支撑。今年以来&#xff0c;因为疫情等原因&#xff0c;大众在虚拟空间停留的时间变得更长&#xff0c;元宇宙概念重新火热。 元宇宙虚拟人的基本特征包括&#xff1a; 沉浸式体…

Android hook、检测及对抗相关

frida——hook 内存访问断点 环境&#xff1a;app&#xff1a;arm64 python 3.10 frida 15.2.2 简单的内存访问断点代码&#xff0c;可能还有些bug&#xff0c;根据apk需要自己改&#xff0c;下文为在apk中指定的地址调用函数时内存断点才被激活&#xff0c;以下需要…

【GESP】2023年03月图形化二级 -- 快乐时光

文章目录 快乐时光1. 准备工作2. 功能实现3. 设计思路与实现&#xff08;1&#xff09;角色、舞台背景设置a. 角色设置b. 舞台背景设置 &#xff08;2&#xff09;脚本编写a. 角色&#xff1a;小猫b. 角色&#xff1a;小猴 4. 评分标准 快乐时光 1. 准备工作 &#xff08;1&am…