测试基础篇(二)——面试挺常见

==========================================================

=======自己学习过程中的总结,如有错误请及时指出!谢谢!=======

==========================================================

测试流程(各有千秋)

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、中断测试(电话接入、来短信、电量不足提示灯外部事件)

app测试和web测试的区别

  web app
性能测试 响应时间... 加上:流量、电量、CPU、GPU、内存...
兼容测试 不同浏览器和浏览器版本 加上:手机的尺寸、分辨率、系统版本、安卓版本
交叉事件测试   在操作某个软件的时候,来电话、来短信,电量不足提示等外部事件
操作类型测试   横屏测试,手势测试

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

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

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

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

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

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

键字:不运行,文档,代码

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

α、β、λ测试的区别

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

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

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

负载测试(Load testing)、压力测试(stress testing)和性能测试(Performance Evaluation Test)的区别

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

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

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

什么是需求文档测试?

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

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

什么是设计文档测试?

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

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

原文地址:https://www.cnblogs.com/poloyy/p/12104590.html

时间: 2024-10-11 20:16:28

测试基础篇(二)——面试挺常见的相关文章

JMS基础篇(二)

简介 异构集成是消息发挥作用的一个领域,大型公司内部可能会遇到很多的平台,Java,.net或者公司自己的平台等. 传送消息还应该支持异步机制,以提高系统整体的性能.异步传输一条消息意味着,发送者不必等到接收者接收或者处理消息,可以接着做后续的处理. 应用程序发送消息至另外一个应用程序,需要使用到消息中间件.消息中间件应提供容错,负载均衡,可伸缩的事务性等特性. JMS与JDBC类似,是一种与厂商无关的API.应用程序开发者可以使用同样的API来访问不同的系统. 可以认为JMS是一种标准,各消息

php基础篇-二维数组排序 array_multisort

原文:php基础篇-二维数组排序 array_multisort 对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(array1,sorting order, sorting type,array2,array3..)是对多个数组或多维数组进行排序的函数. array1 必需.规定输入的数组. sorting order 可选.规定排列顺序.可能的值是 SORT_ASC 和 SORT_DESC. sorting t

php基础篇-二维数组排序姐妹篇

前面介绍了php多维数组排序的一个函数array_multisort() ,想了解的人可以点击 二维数组排序 array_multisort 下面介绍下不适用array_multisort()进行多维数组的排序. 这里介绍下2个php排序函数,一个是asort,一个是arsort. asort(array,sorttype) 函数对数组进行排序并保持索引关系.主要用于对那些单元顺序很重要的结合数组进行排序. 可选的第二个参数包含了附加的排序标识. SORT_REGULAR - 默认.以它们原来的

JavaScript笔记基础篇(二)

基础篇主要是总结一些工作中遇到的技术问题是如何解决的,应为本人属于刚入行阶段技术并非大神如果笔记中有哪些错误,或者自己的一些想法希望大家多多交流互相学习. 1.ToFixed()函数 今天在做Birt报表时, 要显示一列百分比的数据,但因一些特别的原因,不能使用使用百分比样式,即如果数据是0.9538不能显示成“95.38%”的样式,必须显示成“95.38”. 开始时想使用javascript的内置函数Math.round(),可Math.round()只能显示为整数,而不能保留小数. 再网上搜

Qt入门之基础篇 ( 二 ) :Qt项目建立、编译、运行和发布过程解析

转载请注明出处:CN_Simo. 题解: 本篇内容主讲Qt应用从创建到发布的整个过程,旨在帮助读者能够快速走进Qt的世界. 本来计划是讲解Qt源码静态编译,如此的话读者可能并不能清楚地知道为何要静态编译,所以借此篇内容说明一下原由并为之后文章的学习做准备. 即使本片内容只是在围绕一个小小的HelloWorld程序开展,但还是希望朋友们不要急于求成,"欲速则不达". 文章整体思路: 我们循序渐进地来看,一个Qt应用的完成有以下一个重要的步骤: 项目创建->源码编译->程序运行

Hybrid APP基础篇(二)->Native、Hybrid、React Native、Web App方案的分析比较

说明 Native.Hybrid.React.Web App方案的分析比较 目录 前言 参考来源 前置技术要求 楔子 几种APP开发模式 概述 Native App Web App Hybrid App React Native App 分析 各大开发模式直观对比 如何选择开发模式 另类的app方案 微网页 微信小程序 其它 前言 参考来源 前人栽树,后台乘凉,本文参考了以下来源 对当前主流hybrid app.web app与native app工具的初步比较与分析 H5.React Nati

通过Rancher部署并扩容Kubernetes集群基础篇二

接上一篇通过Rancher部署并扩容Kubernetes集群基础篇一 7. 使用ConfigMap配置redis https://github.com/kubernetes/kubernetes.github.io/blob/master/docs/user-guide/configmap/redis/redis-config redis-config maxmemory 2mb     maxmemory-policy allkeys-lru # kubectl create configma

Android 基础篇(二)

ADB进程 adb指令 adb install xxx.apk adb uninstall 包名 adb devices adb start-server adb kill-server adb shell –> 进入Linux的命令行 ls –> 显示文件及包名 ps –> 列举所有运行的进程 rm –> 删除文件 cd –> 切换目录 adb push 文件路径/文件名 sdcard/文件名 –> 把文件放进去 adb pull sdcard/文件名 –> 把

自定义View时,用到Paint Canvas的一些温故,讲讲平时一些效果是怎么画的(基础篇 二,图像遮盖,Canvas静态变化)

转载请注明出处:王亟亟的大牛之路 上一篇把简单的一些概念理一理,还画了个圈,那这一篇讲一下图像遮盖"Xfermode"和Canvas的旋转.平移等效果 Xfermode: AvoidXfermode 指定了一个颜色和容差,强制Paint避免在它上面绘图(或者只在它上面绘图). PixelXorXfermode 当覆盖已有的颜色时,应用一个简单的像素异或操作. PorterDuffXfermode 这是一个非常强大的转换模式,使用它,可以使用图像合成的16条Porter-Duff规则的任