1. 前端该怎样实现自动化测试
首先,还是要强调一点:
前端是一种特殊的GUI软件
看过我最近一年内做前端工程方面相关分享的人可能有印象,我总是在强调这一点。前端测试也跟这个理论基础有所关联。
在这里,我还想吐槽一下:
API测试方法论在测试GUI时并不能解决所有问题。
与很多前端工程师讨论过前端测试,大家更多的还是盯着API测试方法论。诚然,前端有那么一小部分代码是可以用API测试保证质量的,但前端项目中的绝大多数代码是GUI界面,前端测试应该向传统GUI测试方法论需求解决方案:GUI软件测试_百度百科 ,这个百科词条介绍的很不错,大家可以感受一下GUI测试相关概念和方法。它的测试用例、覆盖率统计、测试方法等等都与API测试有着很大的不同。
2. 前端开发使用哪些工具来测试代码的性能
Chrome有一个插件叫PageSpeed,谷歌官方出品。以当前页面为例存在下面的问题
Suggestion Summary
Click on the rule names to see suggestions for improvement.
Minimize payload
(M)Serve scaled images, (L)Enable compression, (L)Minify HTML, (L)Optimize images
Minimize delay in page load
(L)Avoid CSS @import, (L)Minimize request size, (L)Specify image dimensions, (L)Specify a character set
Other
(L)Leverage browser caching/app/?L)Enable Keep-Alive, (L)Remove query
strings from static resources, (L)Specify a Vary: Accept-Encoding header
HML分别代表问题的严重程度,高、中、低
3. 问大家一个问题,我刚做前端一个月(实习)
今年5月开始前端之旅,学习近4个月之后,于9月底,参与了一个商城厂家后台的前端页面的开发,所做的内容并不多,但是在这段时间的收获却不少。接下来将详细谈谈这些收获。
1)参与项目之前应该做什么
在实习刚开始的时候,主要是从git上clone代码,然后自己在前辈的指导下查看代码结构,理解整个流程。当时花的时间不长,基本也把代码看的差不多了。这个是很重要的,你需要对整个前端的架构有一个大致的了解。
2)写第一行代码前应该做什么
仔细看产品原型,查看接口文档。这是非常重要的,特别是原型,需要仔细的查看原型,看看那些地方存在不合理的,需要及时找产品或相关负责人沟通,最终要确保你对整个产品原型有很详细的了解。这样子不至于在写页面,写交互的时候出现大问题。还有接口文档也是很重要的,前端和后端都需要一份共同的接口文档,大家根据这个文档进行数据交互。有了共同的接口文档,在开发过程中不用关注变量名这些无关紧要的细节。而且能确保前后端数据交互时不会有不一致的地方。
3)写代码时应该做什么
多思考,就能少写几行不必要的代码。这是很重要的一个问题,一般来说,在最开始的时候,需要将所需要的技术掌握,然后将页面分成几个小块,从整体到部分,要清楚代码的大致结构,脉络。先将大的东西做好,再慢慢细调。这样子不必时刻纠结于细节,浪费不少时间。写代码时要遵循代码规范,比如说Tab键还是空格缩进的问题,比如说是LF还是CTLF换行的问题,尽量采取和大家一致的开发环境,这样在别人看你的代码和你看别人的代码时会减少不必要的麻烦。
4)写完代码时应该做什么
单元测试,不用多说。如果是用RAP来进行单元测试的话,要注意测试用例设计的合理性。
5)前后端联调
前后端联调应该采取怎样的方式才是最好的?以前是一个前端搭配一个后端,他们用同一个分支。联调时,后端从git上pull代码,然后在本地跑一遍gulp,然后运行联调。这样有一个问题就是,当前端有问题时,如果是一个很小的问题,那么他也需要从他自己的机子上改,然后commit,push代码,然后后端在他的机子上重新pull,gulp,运行联调。这样子比较繁琐,效率不怎么高。现在的做法是前端将请求用nginx代理请求到后端的机子上,然后在前端进行测试。这样前端发现有问题,他自己修改就好。后端不用pull代码。后端发现有问题也是如此,这样前后端就分开了。
6)提交给测试人员
当联调完成之后就可以将代码提交给测试人员。测试人员通过模拟真实数据来进行功能测试。之所以在测试阶段会有这么多问题,是因为:前后端联调的时候,对联调数据没太在意,以为数据跑得通就OK。导致一上到真实环境出现一堆问题。另外一个原因是,测试人员往往不能够详细描述问题出现的情形,比如说:在什么情况下,做了什么操作之后,出现了什么样的结果。出现的频率。和预期的差别。实际得到的结果往往是:出现了某个问题,然后把错误一截图发给开发人员就没了。其实对于前端来说,需要知道做了哪些操作导致的bug往往是特别重要的。
4. 写前端代码,电脑是win10系统的,那应该怎么测试ie浏览器的兼容性
浏览器兼容性有以下几个测试点:
1、页面加载时间;
2、含有Fream、DIV、ActivX等对象插件的页面,做兼容性测试。
3、采用第三方工具做专业性能测试,比如:IETester、BrowserShots 、Multiple IEs、IE netrenderer等。
测试细节:
1、测试页面有无异常,加载时卡滞或无响应,左下角状态栏有无报错警示。
2、国内、外网站都需要针对性对比测试。
3、对各个页面框架及php\cgi\asp各个语言版本均做一遍兼容性测试,以示综合兼容性准确。
5. 如何写高质量的JS,Html5前端代码
首先,本人在前端开发方面有点心得,有什么不对的地方希望给出建议让我更好的进步1.命名在开发前必须有个命名规范来对代码统一规范团队代码结构,使代码可读性提高7a686964616fe4b893e5b19e313333633834382.注释我相信每个人看别人代码时看到密密麻麻的代码结构,相信每个人都会很头疼,即使想看也会看不下去,而且很耗时间,所以注释就变得尤其得重要,注释越清楚越详细我相信代码可维护性越高,而且更容易修改维护3.变量在js中变量无处不在,所以这么声明变量就变得尤其得重要,首先少使用全局变量,这样会增加加载速度,从而导致项目用户体验不好4.声明变量如果不用 var 会导致变量成为全局变量。
5.函数函数的参数数量函数的参数不应该超过 3 个。如果函数的参数超过 3 个,应该将一些参数进行封装。
6.函数参数传递只传函数需要的参数。如// 不推荐function greet(data){console.log('Hello, I am ' + data.name);}// 推荐function greet(name){console.log('Hello, I am ' + name);}7.函数的功能一个函数只做一件事。
这有助于测试和代码复用。函数尽可能无副作用。
无副作用指不修改传入的参数和全局变量。8.减少重复代码. 记得在某个文章中看到说,如果重复的代码出现 3 次,就应该重构重复的代码。
. 松耦合. 一个函数只做一件事. 缓存一些计算结果9.避免全局变量. 从分配置和离逻辑代码. 不要修改不属于你的对象. 不属于你的对象包括. 浏览器原生对象,如 Object,Array等DOM,如 documentBOM,如 window类库对象如果想拓展浏览器原生对象的功能,可以创建函数,函数中把浏览器原生对象传入。如 Underscore.js 做 的那样。
10.代码风格的统一11.尽可能的避免代码重复 . 如何减少重复的代码呢?. 在JS中,可以将重复的代码写成一个方法,如果是可通用的,可以写在独立的JS文件中。. 在CSS中,则需要借助Sass,Less之类的预处理语言的Mixins的功能。
将重复的部分写成一个Mixins。12.配置和逻辑分开 . JS中,对于整个站的通用配置,写在config.js里。
如果是某个js的配置,在文件的开头,用defaultParam 对象来存放可变的配置,用const来定义不可变的配置. CSS中,依旧要借助预处理语言。对于整站的配置,定 义在_variables.scss里。
对于某个具体CSS文件里,在文件开头用变量来定义13.减少代码的副作用1>JS中,方法中的沟通尽量不要用全局变量;不要在Array之类的全局对象的原型链上添加方法;尽量不要定义全局的方法和变量:如果确实有很多变量,方法放在全局上,可以学习jQuery,将很多变量,方法放在一个全局对象上;自定义事件,事件的名称也要有命名空间。2>CSS中,要做到无副作用,难度很大。
对于简单页面,一个方法是,把页面上的元素都分成一个个组件,写样式时,选择器要用组件选择器 当前元素选择器。当组件变的复杂时,组件也会包含很多子组件。
然后,选择器就会越来越长。
我的解决方案是用的BEM。
14.提高代码的可读性 . 变量,方法等的合理命名,通过名称可以知道这个大概做什么的。. 如果则要加注释来说明一下。
对于不容理解的代码加注释. 尽可能不用魔法数字 . 对于HTML,选择合适标签15.一个方法只做一件事一来提高代码的复用性,二来让调试也变的更容易,三来让测试变的更容易。
6. 求前端验证js代码
在VB6.0里要先在最前面进行如下声明Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long在过程中加入SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 3就可以了,还原把 -1 改为 -2 。
如果是VB.net就容易了,直接在窗体属性中设置TopMost属性就行了要显示窗体.Show 0,主窗体希望能帮助到你 祝你好运!如果帮助到您,请记得采纳为满意答案哈,谢谢!祝您生活愉快! vae.la。