测试面试题合集1(测试基础)

1、常用的测试用例设计方法是什么,测试用例包括什么?

白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖

黑盒测试:边界值分析法、等价类划分、错误猜测法、因果图法、状态图法、测试大纲法、随机测试、场景法

测试用例:是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

优点:理清思路,避免遗漏、跟踪测试进展、历史参考、工作记录

一个测试用例应该包括:编号,标题,测试场景,测试步骤,预期结果。当然还可加入一些它选项,如:优先级、测试阶段...

2、常用缺陷管理工具,一个 bug 包含什么,缺陷的管理流程包含什么?

常用工具:jira,禅道,teambition 等

一条 Bug 记录最基本应包含:

bug 编号;

bug 严重级别,优先级;

bug 产生的模块;

首先要有 bug 摘要,阐述 bug 大体的内容;

bug 对应的版本;

bug 详细现象描述,包括一些截图、录像....等等;

bug 出现时的测试环境,产生的条件即对应操作步骤;

新建打开 : 表示问题被提交等待有人处理。

指派:问题被指派给某人处理。 

处理 : 问题在处理中,尚未完成。

固定 : 确认此问题存在,但暂时不进行处理。

重新指派 : 问题被重新指派给某人处理。 

回归 : 对已经修复的问题进行回归确认。

关闭 : 问题的最后一个状态。 

 

3、接口测试是什么,为什么做接口测试,怎么做接口测试,常用接口工具

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

简单的说法 :通过指定协议 向指定 url 发送测试数据,测试返回的是不是预期结果。

由于如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,所以就要做接口测试。同时,接口测试相对容易实现自动化持续集成,且相对 UI 自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。现在很多系统前后端架构是分离的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。

常见主要是 http 协议的接口(webservice 接口主要金融类的用的多)。所以测试接口时主要是通过工具或代码模拟 http 请求的发送与接收。

工具有很多如:postman、jmeter、python + requests、java+httpclient 等。

4、负载测试、压力测试和性能测试之间的联系和区别

联系:三者测试得手段和方法在一定程度上比较相似,通常会使用相同的测试环境和测试工具,而且都会监控系统所占用资源的情况以及其他相应的性能指标。

区别:三者的测试目的不同。性能测试是为了获得系统在某种特定的条件下的性能指标数据;负载测试是为了获得系统正常工作时所能承受的最大负载;压力测试强调的是系统在高负载的情况下能否稳定运行。

5、性能测试常见工具有哪些,关注哪些指数

LoadRunner (功能强大、商业软件、贵)

JMeter (开源,个性化测试、随着版本迭代,功能逐步完善)

响应时间、每秒点击数、tps(每秒事物数)、吞吐率、网络、io、cpu、内存等资源监控

6、怎么做兼容性测试

主流的浏览器下能否显示正常已经功能正常(IE,6,7,8,9, Firefox, Chrome, Safari,等)

不同的平台是否能正常工作,比如 Windows, Mac

移动设备上是否正常工作,不同的系统版本,比如 Iphone, Andriod

不同的分辨率

不同的浏览器大小 (浏览器最大化, 和非最大化)

7、app 测试和 web 测试区别

单纯从功能测试的层面上来讲的话,APP 测试、web 测试 在流程和功能测试上是没有区别的

根据两者载体不一样,则区别如下:

系统结构方面

web 项目,b/s 架构,基于浏览器的;web 测试只要更新了服务器端,客户端就会同步会更新

app 项目,c/s 结构的,必须要有客户端;app 修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍

性能方面

web 项目 需监测 响应时间、CPU、Memory

app 项目 除了监测 响应时间、CPU、Memory 外,还需监测流量、电量等

兼容方面

web 项目:

浏览器(火狐、谷歌、IE 等)

操作系统(Windows7、Windows10、OSX、Linux 等)

app 项目:

设备系统: iOS(ipad、iphone)、Android(三星、华为、联想等) 、Windows(Win7、Win8)、OSX(Mac)

手机设备可根据 手机型号、分辨率不同

相对于 Wed 项目,APP 有专项测试

干扰测试:中断,来电,短信,关机,重启等

弱网络测试(模拟 2g、3g、4g,wifi 网络状态以及丢包情况);网络切换测试(网络断开后重连、3g 切换到 4g/wifi 等)

安装、更新、卸载

安装:需考虑安装时的中断、弱网、安装后删除安装文件等情况

卸载:需考虑 卸载后是否删除 app 相关的文件

更新:分强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新

测试工具方面

自动化工具:APP 一般使用 Appium; Web 一般使用 Selenium

性能测试工具:APP 一般使用 JMeter; Web 一般使用 LR、JMeter

界面操作:关于手机端测试,需注意手势,横竖屏切换,多点触控,前后台切换

安全测试:安装包是否可反编译代码、安装包是否签名、权限设置,例如访问通讯录等

边界测试:可用存储空间少、没有 SD 卡/双 SD 卡、飞行模式、系统时间有误、第三方依赖(QQ、微信登录)等

权限测试:设置某个 App 是否可以获取该权限,例如是否可访问通讯录、相册、照相机等

8、了解弱网测试吗,具体如何操作

用户在使用 APP 的过程中,网络条件比较复杂,如 WiFi,4G,3G,2G;并且,当前有三大运营商,所提供的网络制式不太相同。同时,用户使用的场景也各不相同,比如室内,户外,电梯或者停车场等。因为不做任何处理的话很可能会崩溃闪退,很影响用户的使用。所以对客户端要求就比较高了,需要做容错处理,比如异常提示,超时处理,重连机制,以及缓存机制。

fiddler模拟弱网环境

QNET弱网测试

9、测试计划和测试方案的区别

测试计划是指描述了要进行的测试活动的范围、方法、资源和进度的文档。它主要包括测试项、被测特性、测试任务、谁执行任务和风险控制等。

测试方案是指描述需要测试的特性、测试的方法、测试环境的规划、测试工具的设计和选择、测试用例的设计方法、测试代码的设计方案。

10、一套完整的测试应该由哪些阶段组成

可行性分析、需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试、验收测试

11、针对 app 的安装功能,写出测试点

正常安装测试,检查是否安装成功。

APP 版本覆盖测试。例如:先安装一个 1.0 版本的 APP,再安装一个高版本(1.1 版本)的 APP,检查是否被覆盖。

回退版本测试。例如:先装一个 2.0 版本的 APP,再安装一个 1.0 版本的 APP,正常情况下版本是可以回退的。

安装时内存不足,弹出提示。

根据安装手册操作,是否正确安装。

安装过程中的意外情况(强行断电、断网、来电话了、查看信息)等等,检查会发生的情况。

在不同型号、系统、屏幕大小、分辨率上的手机进行安装。

安装完成后,能否正常启动应用程序。

是否支持第三方安装。

在安装中点击取消。

posted @ 2020-09-17 20:19  天线努力  阅读(736)  评论(0)    收藏  举报