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

什么是软件测试

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

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

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

  软件测试的目的是什么?

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

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

  黑盒、白盒的区别

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

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

  什么是灰度测试?

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

  影响:灰度发布可以在原有的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.hqwc.cn/news/213.html

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

相关文章

windows电脑hbuilderx打包iOS app及上架app store教程

ios应用,无法像安卓应用一样,上传到自己的服务器让互联网用户下载进行安装,所以需要将生成的app上传到app store,然后用户到app store安装app。 由于官网的教程是使用mac电脑生成证书和上架的,但是很多使用hbuilderx打…

笔记本安装双系统ubuntu时踩的坑——戴尔

如果你遇到以下的这些问题,不要直接装了,无解!!! 建议看我另一篇教程,把硬盘取出来在另外的电脑上装好系统再放回去,这样嘎嘎快。 移动硬盘中安装Ubuntu 20.04系统——立省99%的问题_放风筝的…

【产品应用】一体化步进电机在全自动纸张分切机的应用

全自动纸张分切机是现代印刷业中的重要设备之一,它能够将大的纸张切割成相同大小的小纸张,并具有高精度、高速度和高效率等优点。一体化步进电机作为全自动纸张分切机的重要部件,其应用对于提高设备的性能和稳定性具有重要意义。 01.设备简介…

HTML转EXE工具(HTML App Build)永久免费版

HTML转EXE工具(HTM2EXE)在CSDN上发布时间轴: 序号时间链接12022-08-17HTML转EXE工具(HTML App Build)初始版22023-02-18HTML转EXE工具(HTML App Build)最新版32023-06-23(实际未发布…

【Linux 驱动篇(一)】字符设备驱动开发

文章目录 一、字符设备驱动简介二、字符设备驱动开发步骤1. 驱动模块的加载和卸载2. 字符设备注册与注销3. 实现设备的具体操作函数3.1 能够对 chrtest 进行打开和关闭操作3.2 对 chrtest 进行读写操作 4. 添加 LICENSE 和作者信息 三、Linux 设备号1. 设备号的组成2. 设备号的…

多媒体库SDL以及实时音视频库WebRTC中的多线程问题实战详解

目录 1、概述 2、开源跨平台多媒体库SDL介绍 3、开源音视频实时通信库WebRTC介绍 4、在国产化Linux桌面系统中遇到的SDL多线程问题 5、在给WebRTC新增外部音频插件库时遇到的多线程问题 6、最后 VC常用功能开发汇总(专栏文章列表,欢迎订阅&#xf…

校园wifi网页认证登录入口

很多校园wifi网页认证登录入口是1.1.1.1 连上校园网在浏览器写上http://1.1.1.1就进入了校园网 使 用 说 明 一、帐户余额 < 0.00元时&#xff0c;帐号被禁用&#xff0c;需追加网费。 二、在计算中心机房上机的用户&#xff0c;登录时请选择新建帐号时给您指定的NT域&…

SpringBoot中集成Redis

目标 在原有SpringBoot项目中&#xff0c;集成Redis&#xff0c;并实现Dao层&#xff0c;Service层&#xff0c;Controller层。 pom.xml <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</…

端口映射的作用?如何在路由器上做端口映射

一、端口映射作用 路由器中设置端口映射的主要作用&#xff0c;就是让Internet上的其他用户&#xff0c;可以访问你路由器下面电脑中的数据(软件、文件)。 当家里的电脑使用路由器上网后&#xff0c;在Internet下的其它电脑、手机等网络设备&#xff0c;将无法自接访问你电脑…

多家大厂整理的 1000 道 Java 面试题手册,备战金九银十

Java 面试 金九银十马上要来了&#xff0c;相信很多铁汁这个时候或多或少都有在准备面试的。对于刚入行的或者应届生一般面试前都会刷题或者看面经&#xff0c;这样心里才会有底。但也有人说面试前刷题是很愚蠢的行为&#xff0c;浪费时间效果还不大。但 LZ 认为&#xff0c;存…

步进电机保养小窍门

步进电机本身具有很多优势&#xff0c;在工作中所发挥的功能也对照富强。但是人们也知道任何配备的运行&#xff0c;想要更好发挥作用&#xff0c;都离不开同样平常保养。所以步进电机得同样平凡保养事变很重要&#xff0c;那么要如何正确保养步进电机&#xff0c;下文就往为人…

机器学习-进化算法

进化算法 遗传算法&#xff08;Genetic Algorithm&#xff0c;GA&#xff09;crossovermutation 进化策略&#xff08;Evolutionary Strategies&#xff0c;ES&#xff09;基因编程&#xff08;Genetic Programming&#xff09;Multi-objective Evolutionary Algorithms 遗传算…