前端测试的面试题

Web开发与调试技巧概览
本文介绍了软件开发中的各种测试方法,如mock测试、冒烟测试,以及如何在Chrome和iOS模拟器中进行调试。同时,讲解了前端开发的数据交互、响应式测试和性能优化工具,如YSlow。此外,还提到了对Android和iOS设备的真机调试方法,以及如何在WebStorm等IDE中进行代码调试和性能优化。

1、什么是mock测试?

mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,创建一个虛拟的对象来测试,以便完成测试方法。

2、什么是冒烟测试( smoke test)?

冒烟测试源自硬件行业,对一个硬件或者硬件组件改动后,直接给设备加电,看看设备会不会冒烟。如果没冒烟,就表示待测组件通过了测试。

在软件开发过程中,一直有高内聚、低耦合这样的说法,各个功能模块之间的耦合还是存在的。因此,一个功能的改动还是会影响到其他功能模块。如果在开发人员修复了先前测试中发现的Bug后,想知道这个Bug的修复是否会影响到其他功能模块,就需要做冒烟测试。

3、平时工作中怎样进行数据交互?如果后台没有提供数据,怎样进行开发?mock数据与后台返回的格式不同怎么办?

由后台编写接口文档、提供数据接口,由前台通过Ajax访问实现数据交互在没有数据的情况下,向后端索要一份静态数据,或者自己模拟一份mock数据。

当返回数据的格式不统一时,编写映射文件对数据进行映射。

4、在iOS模拟器中,如何进行刷新?

选择模拟器中的 Hardware→ Keyboard→ Connect Hardware Keyboard即可

5、如何在 Chrome控制台中打开 paint flashing?

打开开发者工具,按键盘上的Esc键打开控制台面板,选择 rendering标签栏,即可看到 paint flashing选项。

6、Chrome开发者工具中,常用的面板有哪几个?

有以下几个

Element:主要用来调试网页中的HTML标签代码和CSS样式代码。
Network:查看网页的HTTP通信情况,包括Method、Type、Timeline(网络请求的时间响应情况)等。
Source:查看 JavaScript文件,调试 JavaScript代码。
Timeline:查看 JavaScript的执行时间、页面元素渲染时间等。
Profiles:查看网页的性能,比如CPU和内存消耗。
Resources:查看加载的各种资源文件,如 JavaScript文件、CSS文件、图片等。
Audits:分析当前网页,快速地分析出哪些资源被使用、哪些资源没有被使用,然后提出建议。
Console:查看错误信息,打印调试信息,调试 JavaScript代码,查看 JavaScript API。
7、如何调试 JavaScript代码?
调试方式如下
(1) Javascript断点调试。
断点可以让程序在需要的地方中断,从而方便程序员分析。也可以在一次调试中设置断点,下一次只须让程序自动运行到设置断点的位置,便可在上次设置断点的位置中断,这极大地方便了调试,同时节省了时间。
JavaScript断点调试,即是在浏览器开发者工具中为 JavaScript代码添加断点,让JavaScript执行到某一特定位置停住,方便开发者对该处代码段进行分析和调试。
(2) debugger断点调试。
通过在代码中添加“ debugger”语句,当代码执行到该语句的时候就会自动插入断点。
(3)DOM断点调试DOM断点就是在DOM元素上添加断点,进而达到调试的目的
8、如何进行响应式测试?
响应式测试特别简单,通过改变视窗大小(也就是缩放浏览器)即可测试。当然,当在CSS中设置 Media Queries判断条件时要使用max- width才行,如果使用max- device- width则会根据设备的屏幕尺寸来判断。
9、如何用 Chrome模拟设备屏幕尺寸?
如果需要测试某种明确的机型, Chrome新版的 Emulation就可以派上用场了。
如果 Emulation面板需要模拟地理位置、加速计等功能,打开 DevTools界面后按下Esc键即可打开分裂视图。打开 DevTools界面之后,单击“手机图标”即可进入 Chrome手机模拟器。
10、如何进行 Android虚拟机测试?
在计算机上安装 Android虛拟机,就可以用虚拟机打开进行测试,例如以下虚拟机。
Genymotion 

Genymotion是一个优秀的 Android虛拟机。因为它基于VirtualBox内核,所以要先安装VirtualBox,然后注册账号 Genymotion,可以免费使用,但是功能有限制。
Parallels 

Parallels是基于Mac平台的虚拟机,使用它创建虛拟机的时候,可以直接下载Android系统并安装。
11、如何进行 Android真机调试?
测试机安装 Chrome for Android后才可以使用 Chrome远程调试这项功能。
首先,用数据线将 Android测试机连接到计算机上,打开测试机上面“开发者选项”中的“USB调试”功能。在 Android4.2+系统上“开发者选项”默认是隐藏的,所以需要先开启“开发者选项”。
然后,在桌面版 Chrome中打开 chrome://inspect即可查找你的设备,在设备上的Chrome中打开网页即可。接下来,就可以用桌面版 Chrome Devtools调试移动设备上的页面了。
此外,在本地用 Node. js或者其他语言开启一个本地服务器,通过端口转接让移动设备直接访问本机IP地址上的页面,再配合 LiveReload、 Browser Sync之类的工具,自动刷新。
12、你使用过 Weinre调试工具吗?
Weinre是一个简单、好用的调试工具。它会在本地创建一个监听服务器,并提供一个 JavaScript程序,你只用在需要测试的页面中加载这段 JavaScript程序,就可以被Weinre监听到,在 Inspect面板中调试这个页面。
13、你使用过 OS Simulator调试工具吗?
ios Simulator是 Xcode开发工具内置的ioS模拟器,该功能仅能在Mac系统下使用。
14、如何对OS设备进行真机调试?
首先需要在 iPhone等设备上设置一下 Safari浏览器,开启调试功能。然后,使用数据线连接计算机,在设备上用 Safari浏览器打开需要调试的页面。接下来,在桌面版的 Safari开发选项中即可看到此页面,并进行调试但是要调试本地网站,你可能要将手机与计算机连在一个局域网内,然后输入局域网IP地址进行调试。
15、如何使用MIHToo进行远程调试?
MIHTool是一个App,可以直接安装到你的iOS设备里,然后内置一个简单的浏览器就可以打开测试页面。当它开启时,它会自动向页面中插入 Weinre的 JavaScript程序,并告知 Weinre控制台URL等信息,让你可以访问并进行调试该页面。它还提供了一个公共的 Weinre调试服务,生成对应的链接,打开即可调试。
16、如何对IE浏览器进行网页调试?
可以通过以下工具进行调试。
SuperPreview,主要用于HTML代码、CSS代码的调试和各个浏览器(目前只能针对IE6~IE8)的页面呈现测试。
Internet Explorer Collection,主要用于 Internet Explorer浏览器(IEl~IE8)各个版本的页面呈现测试。
Developer Toolbar,主要用于HTML代码、CSS代码和 JavaScript代码的调试。
IE WebDeveloper,主要用于HTML代码、CSS代码和 JavaScript代码的调试。
IE Web Developer可以让你检查和编辑 HTML DOM,显示错误信息、日志信息,显网站源代码,监视DHTML事件和HTTP流量。它的功能可以和火狐中的Firebug相媲美,甚至有些功能还强于 Firebug。
 IETester,主要用于 Internet Explorer浏览器各个版本的页面呈现测试。
VS2008,主要用于 JavaScript代码的调试。
DebugBar,主要用于HTML代码、CSS代码和 JavaScript代码的调试。
17、你知道哪些开发工具?
开发工具一般分为两种类型:文本编辑器和集成开发环境(IDE)
常用的文本编辑器有 Sublime text、 Notepad++、 EditPlus等。
常用的IDE有 WebStorm、 Intellij IDEA、 Eclipse等。
18、请介绍一下YSlow。
首先, YSlow是一个工具,也可以认为它是一个插件,它是基于 Mozilla Firefox上 Firebug插件的一个插件。
它出现的主要目的就是检测页面的性能。它让用户可以就近取得所需的内容,解决网络拥挤的状况,提髙用户访问网站的响应速度。其次,雅虎在 Etags的配置上也有独特之处,它声明网页对象过期。
也就是说,当用户从服务器取数据的时候,如果文件变化了,就给他反馈新的文件。如果文件没有变化,只须告诉客户端没有变化即可,不必再把文件取回来,这样就节省了大量的网络带宽和资源。
另外只要将那些在加载过程中要执行的脚本放到底部,就可以实现最大数量的并行下载。
19、如何让 WebStrom忽略 node_modules的索引?
WebStrom在打开一个项目的时候会有一个索引过程。如果计算机配置不高,打开一个带有 node_modules文件夹的项目,那简直就是一场“灾难”。为了提高打开速度,避免每次“灾难”的重现,可以在菜单栏中选择File→ Setting→ Editor→ File types→ Ignore files and folders。
在 Ignore files and folders 选项最后加上 node_modules并保存就可以了,然后重启WebStorm。

### 前端性能测试相关面试题 #### 1. 前端性能测试的主要目标是什么? 前端性能测试的主要目标是清晰界定测试的具体目标,例如确定要测试的页面或功能模块,并明确关注的性能指标,如页面加载时间、响应时间、吞吐量等[^1]。此外,还需要依据业务需求和用户期望设定合理的性能目标值,作为后续评估的依据。 #### 2. 如何搭建前端性能测试环境? 为了确保测试结果的准确性,需要搭建与生产环境尽可能一致的测试环境,涵盖硬件配置、操作系统、浏览器版本、网络环境等[^1]。同时,测试环境应保持稳定可靠,以避免因环境差异影响测试结果。 #### 3. 在前端性能测试中,常用的工具有哪些? 根据测试目标和环境的不同,可以选择合适的测试工具。例如,使用 Chrome DevTools 分析页面渲染性能,用 LoadRunner 或 JMeter 进行压力测试,用 WebPageTest 进行多地域性能测试等。 #### 4. 如何分析前端性能测试的结果? 对测试收集到的性能数据进行深入分析,与预设的性能目标值对比,判断应用性能是否达标。若发现性能瓶颈或潜在问题,需进一步分析其原因,如代码逻辑、资源加载、服务器配置等[^1]。 #### 5. 在移动端,如何提升 CSS3 动画体验? 为了优化移动端 CSS3 动画的体验,可以采用以下方法:尽量减少 JavaScript 的使用,利用 GPU 加速动画效果,合理使用 `transform` 和 `opacity` 属性代替传统的 `left` 或 `top` 属性,以及避免在动画过程中频繁触发重绘或回流操作[^2]。 #### 6. 在调试移动端页面时,可以使用哪些工具? Weinre 是一个简单、好用的调试工具,它会在本地创建一个监听服务器,并提供一个 JavaScript 程序。只需在需要测试的页面中加载这段 JavaScript 程序,即可被 Weinre 监听到,并在 Inspect 面板中调试该页面[^3]。 #### 7. 在真机测试中,如何保证数据分析的真实性? 为了保证数据分析在同一使用场景下的真实性,建议使用真机进行测试。这是因为模拟器在 Mac 上运行时,Mac 的 CPU 速度往往比 iOS 设备快,可能导致测试结果不准确[^4]。 ```python # 示例代码:使用 Chrome DevTools 测量页面加载时间 console.time('loadTime'); window.onload = function() { console.timeEnd('loadTime'); }; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值