当前位置:首页 » 网页前端 » 前端怎么测试
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

前端怎么测试

发布时间: 2022-01-25 19:58:06

A. 前端的开发调试测试的环境怎么搭建

前端环境搭建系列的目的是把前端团队作为一个整体,如何有效的团队协同开发,第一部分开发环境。
1.代码版本管理
SVN是必不可少了,版本号的规划按照项目三位版本,开发四位版本来部署。比如我要做A项目,版本号为1.0.0,我第一次提测的代码版本为1.0.0.1。每次四位版本按照tag区分。QA按照这个tag部署测试代码,OP则部署线上代码。
如果多个项目同时开发,就开分支。这些需要一个项目管理平台来管理版本。
2. 开发环境
我假设前端team的范畴是HTML CSS JS MVC中的V 和 C。最佳的环境是每个人一个开发环境,代码通过SVN同步别人的代码。但是文件的路径全部都一致。
比如
css的img.xx.com/css
js的img.xx.com/js
flash的img.xx.com/swf
后台环境,假设每个后端开发也都有独立的环境,如果和谁联调代码就让他把配置指向你的V C目录进行调试。
QA环境的debug问题,你的环境和QA环境代码部署一致,能够通过host切换静态文件,如css js flash。毕竟前端的大部分问题是前端代码的问题,V 和 C的问题就在自己的环境调试了,静态资源切换到QA的host。
数据问题,最后有个大的造数据平台,通用一份数据库,提供数据增加和修改的接口,这是理想状态,当然这个平台也会很麻烦,实在不行就通过后端的数据操作接口操作数据。
3.编译环境
可恶的前端代码裸上,会有很多问题,大部分是性能问题,还有部分是缓存问题。
所以需要提供编译环境,编译流程放在提测前是安全的,因为会经过QA的质量检测,如果在OP环节应该比较麻烦,编译代码的bug也没人去测。
编译一般解决的事情
1、批量的一些操作,比如版本号
2、代码的合并和压缩
3、代码的优化或者职能替换,比如资源打包
我遇到过的开发状况都不乐观。所以有时间自己搭下试试有多复杂。
一般有公用开发环境,就一台机器一个host,不管主干分支都放在那里,可想又多混乱,还有前端无版本管理软件,人肉维护多个并发版本。
或者有版本管理,开发环境还是多人一个,而且没有host,静态资源引入都是通过模板conf管理路径的。这样的代码不利于资源路径管理,特别是图片,加入png半透明的需要全路径,多个css合并的最好是根目录路径。
各种悲剧,此文到此结束。下篇为开发模式和模块化。

B. 如何测试和评价一个前端控件的性能

配置测试环境

只有在充分认识测试测试对象的基础上,我们才知道每一种测试对象,需要什么样的配置,才有可能配置一种相对公平、合理的测试环境(这在性能对比测压中尤其重要)。考虑到其它因素,如网络锁、网速、显示分辩率,数据库权限、容量等对测试结果的影响。如条件允许,我们最好能配置几组不同的测试环境。

测试数据的获取和处理

在所有的测试中,测试数据的收集工作都是较为困难的,GIS软件更是如此,每一种软件都有它的文件格式,有的软件还有几种格式。在这种情况下,我们只能把第三方格式的数据转换成每一种被测试软件自已的格式。同时,还应对数据作一定的处理,如处理数据冗余,处理显示风格等。如在测试时会更新数据,操作前一定要备份数据。其外,还应评估数据格式和数据量对测试的影响,如有必要,应准备多组数据。最后,一定要检查测试数据的有效性,避免损坏数据对测试结果的影响。

C. Web前端站点有哪些功能测试的方法

有些测试方法的界限比较模糊,比如功能测试的同时会穿插一些兼容性和安全性的测试,以下列出简单的一些点,可以参考下:
1、该页所提供的功能逻辑方面有无问题;
2、各输入项的合法性测试、输入顺序;(是否只做了前端的js验证)
3、该页权限,既无访问权限的用户能否直接访问该页;
4、不同浏览器下该页的显示;
5、该页链接的参数是否可以修改,对功能的影响;
7、多个页面打开该页,进行操作,是否有不合法的影响;
8、网络环境异常情况下系统的处理;
9、页面链接是否正确;
10、cookies测试;

D. 软件测试和前端开发有什么区别

在选择之前可以先分别了解一下这两个方向的主要工作职责是什么。
一、软件测试
字面意思,主要工作是测试软件。发现软件程序中的错误,对软件是否符合设计要求,以及是否能达到技术要求,进行有关验证,以及评估软件的质量。
随着IT类企业的大量增加,从而导致各类人才出现大量缺口,其中软件测试人才更是紧缺。当然,这里说的是严格意义上的软件测试开发工程师。
需要熟练标准规范的测试流程,能够做性能,功能,自动化测试;熟练使用Linux操纵系统,独立搭建测试环境;熟练MySQL、Oracle等数据库的一种或多种;至少掌握Java、Python、C++等一门编程语言。
在蜗牛学苑的教学过程中,不但要教会学员做标准的软件测试,还会教会学员自己开发自动化测试工具。我们会让学员用这些工具来完成一些项目,但是这些工具对我们来说根本不是核心和重点,我们要教会大家的是不依赖于这些工具也可以完成自动化测试,这就牵涉到其背后的底层的工作原理,这些才是我们要学习的重点。
二、Web前端
前端开发是创建Web页面或APP等前端界面呈现给用户的过程。通过HTML、CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。前端技术变化比较快,需要不断的学习。在终端应用场景不断拓展的当下,前端开发的边界也在不断的拓展,岗位需求的数量也会呈不断上升的趋势。
蜗牛学苑在结合了企业需求、企业技术调研以及目前主流的技术分析和实战后将Web前端课程重磅升级,增加了更多项目实战,框架原理的分析,加强了前后端的实战。不仅要学会怎么用,还要知道是怎么来的。
总之,软件测试和Web前端都是不错的专业,都有充足的上升空间和发展前景。根据你自己的兴趣和擅长的方向来选择吧。

E. 如何进行前端自动化测试

没人邀请,路过回答。

前端测试是前端工程方面的重要分支,有过一些探索,这里简单分享一下。

首先,还是要强调一点:
前端是一种特殊的GUI软件
看过我最近一年内做前端工程方面相关分享的人可能有印象,我总是在强调这一点。前端测试也跟这个理论基础有所关联。

在这里,我还想吐槽一下:
API测试方法论在测试GUI时并不能解决所有问题。
与很多前端工程师讨论过前端测试,大家更多的还是盯着API测试方法论。诚然,前端有那么一小部分代码是可以用API测试保证质量的,但前端项目中的绝大多数代码是GUI界面,前端测试应该向传统GUI测试方法论需求解决方案:GUI软件测试_网络 ,这个网络词条介绍的很不错,大家可以感受一下GUI测试相关概念和方法。它的测试用例、覆盖率统计、测试方法等等都与API测试有着很大的不同。

统一了这个认知之后,我们来讨论一下前端GUI测试的特殊性。根据网络词条上的那些介绍,相信大家都能感觉到GUI测试的成本非常高,而前端这种特殊的GUI软件,具有天生的快速迭代特征,这使得case维护成本也变得非常高,经常跟不上迭代速度。


个标准的互联网应用产品的前端部分,我粗略估计大概有20%的业务基础代码比较稳定,比如通用组件、通用算法和数据模块等,可以针对这些建立复杂一些的
API和GUI测试用例来保证质量。剩下80%的部分不是很稳定,每天都在迭代,针对他们维护case的成本非常高。目前业界中号称做了自动化测试的项
目,也大多是在做那稳定的20%。

关于稳定部分的单元测试方法我这里就不赘述了, @貘吃馍香 的答案给出了很多关键字,有兴趣的去搜索就好了。我想讨论的是针对剩下80%不稳定部分的工程化测试方案。据我了解,前端测试面对这些问题还是很无力的,业内大部分团队还是靠堆人解决。

面对这种现状,我其实也没想到过什么好的方法,基本原则就是:以最低的成本建立和维护自动化测试用例。到目前为止,就想到过两个方案(都不是测试方案,只是回归测试辅助):

1. 不太靠谱的“超级工位”大法。
这个方案可以说根本不是什么技术方案,而是一个办公设施,就是我们准备一个工位,摆上所有我们需要测试的主流设备,然后设备通过某种方式与一台电脑相连接,测试人员坐在工位上,在电脑中输入某个url,就能同步到所有设备中,然后开始逐个的人肉测试。
超级工位大法示意图(应该很多设备的,这里就是随便展示一下而已。。。)超级工位大法示意图(应该很多设备的,这里就是随便展示一下而已。。。)
相比现在的前端GUI测试,超级工位已经算是从0到1的飞跃了,虽然没解决什么技术问题,但为测试前的准备工作做好了铺垫。如果把前端测试比作吃屎,超级工位就是为这餐准备了一个好一点的餐桌。。。

2. 靠谱一些的“页面差异监控”

12
年的时候还在网络,当时有同事去美国参加velocity,twitter分享了一下他们的开发流程,其中有一个环节就是页面对比监控,利用了一个叫
pdiff的工具,每次提交代码,会自动对比页面之间的差异然后提醒测试人员注意回归。这也是一个典型的GUI测试零成本维护用例的案例。不过pdiff
这个工具是基于像素对比的,误报率比较高,所以去年我做了一个这个项目:fouber/page-monitor · GitHub 基于DOM树的diff,这样就能很大程度上自主控制要监控的元素,可以设置监控样式、文本的变化,比起像素diff智能了一些。


工作原理就是利用phantom或其他headless浏览器访问页面,然后截图,然后执行一段js,遍历整个dom树,获取元素计算样式和元素内文本内
容,构造出一个JSON结构,然后每次diff这个json来判断页面差异,并标记在截图上展示。dom树的diff过程有点类似react的虚拟dom
树diff。

(react的dom树diff算法示意图)(react的dom树diff算法示意图)
(react的dom树diff算法示意图)(react的dom树diff算法示意图)

DOM树diff我们可以分辨出元素样式修改/内容修改/新增元素/删除元素四种不同的页面差异,我们可以配置选择器来忽略元素。四种页面差异的效果图:

新增元素(绿色区域标记部分,“i am new here”)新增元素(绿色区域标记部分,“i am new here”)
删除元素(灰色区域标记部分,“你好”)删除元素(灰色区域标记部分,“你好”)
内容修改(黄色区域标记部分,“百-度”,“新-浪”)内容修改(黄色区域标记部分,“百-度”,“新-浪”)
样式修改(红色区域标记的部分)样式修改(红色区域标记的部分)

基于这样的页面差异对比监控,我们可以建立一个任务系统,把应用的所有页面url监控起来,这样每次版本迭代提交代码后,系统就能自动告诉我们,哪些页面的元素展现发生了改变,用于确定回归范围。

用监控的方式确定测试回归范围,是一种“少吃屎”的手段,符合工程化要求,能比较大范围的应用,虽然不能完美解决GUI中的交互问题,但能保证GUI的展现问题已经是不小的进步了。

F. 前端自动化测试怎么测试界面交互

在我的理解中,自动化对交互的支持比较低,也很少用于测试交互这方面,比如一个按钮,当按下它之后按钮本身发生了什么变化,自动化测试一般都不关注,它关注的是按完这个按钮之后。系统有没有响应这个动作,有没有触发应该触发的事件。

G. 前端测试具体是做什么

1.检测出一些潜在的bug。
2.快速反馈功能输出,验证代码是否达到预期。
3.保证代码重构的安全性(可参考测试用例达到的效果来进行对应的重构)。
4.方便协作开发(如其他人使用时,可直接阅读测试用例)。

H. 前端 junit怎么测试

给个邮箱地址,我给你发个资料。
你看看,能不能用。。。

I. 前端中怎样将写好的网页在真机上进行测试

使用grunt+bower+webstorm作为前端开发工具,在开发移动端的时候,怎么才能直接在真机上进行页面调试?
举个例子就是在IDE里写html,手机上也会同步展示。
-------分隔线------
在各位大神的推荐下使用了browser-sync,发现真是神器啊,现在使用grunt-watch + browser-sync 可以实现了实时编译。这里有个前端大牛裙前面是五五二中间是就一二后面是思五五连起来可以了,不是来学习请不要加了
在使用的过程中发现了一个问题,就是使用ip在本机是可以访问的
http://192.168.2.224:3000/src/html/index.html
但是发到手机上就访问不了了

确定是在同一个网段,路由器配置也检查过了。。。实在找不到原因了

J. 前端开发好还是软件测试好

web前端相当于是半个程序猿,测试门槛比较低但是薪资待遇也相对差一些。每当换行业时,总是不知道学习什么,又怕自己入错行了,那到底web前端和软件测试哪个好呢?

了解web前端的知识

前端方面非常稀缺人才,如果懂H5那是非常好的了,而且待遇也不低,不过 浏览器兼容性是前端噩梦测试虽然入门门槛低,但是其实需要学的东西非常多,如果是web测试,那么各种乱七八糟前端的东西都要去了解(JS,CSS,HTTP,HTTPS,POST请求,XML,JSON)起码不会写代码,但是你要了解。

软件测试的基础知识

软件测试还可以细分为功能测试,这个要求技术不高薪水也不高,属于黑盒测试开发,这个介于黑盒和白盒之间,都要懂,而且要会代码,薪资和开发比差不多;白盒测试,这个一般开发会做,也有给测试做的,薪资和开发差不多,基本持平自动化测试,这个基本要会写代码而且量还不少,薪水不错性能测试,这个主要是性能分析,薪水也不错,不比开发少安全测试这个基本就是搞安全的 这个能力有多强,薪资有多高。

web前端该掌握的基础

web前端开发一般指网页开发,学好CSS3是网页外观的重要一点,就是布局效果,CSS3可以帮助把网页外观做得更加美观。学习JavaScript的基本语法,以及如何使用JavaScript编程将会提高开发人员的个人技能,JavaScript相对于前端来说,也是分量比较重的。也要认识一下NodeJS和PHP加上数据库等这样的后端语言,方便前后端开发配合,学习 HTML5、CSS3、响应式页面布局、微网站制作等开发移动互联网的应用。像Ajax、JQuery、jQueryMobile、Bootstrap、AngularJS等更是前端开发必学的高级技术,掌握精通这些可以拿到很满意的薪资。

软件测试逻辑性

软件测试工程师与软件工程师不同,软件工程师大多是男生,因为软件开发的工作需要很强的逻辑推理能力,而软件测试工程师则不需要天天去思维创造,工作重点是在注重经验的积累上面,同时,软件测试工程师要查找软件的缺陷需要具备的素质与女性所有的细心,耐心,安静,敏感等各个方面很吻合。同时,女生做测试的优势还在于沟通,女生应该比男生稍微细心点,这点对于发现Bug还是很有优势的。

软件测试是在软件开发过程中,在不同阶段对程序进行测试,发现程序中的错误,对软件的质量进行控制,扮演着“把关人”的角色。细腻、敏感、认真、有耐心、想象力丰富、沟通能力强是女性与生俱来的性格特点,这些性格特点可以使女生在软件测试工作中更加顺利。