51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2633|回复: 0
打印 上一主题 下一主题

[讨论] 【web测试】你必须验证的检查点

[复制链接]
  • TA的每日心情
    擦汗
    2022-8-30 09:02
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2018-6-13 15:21:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    选择题

    下列哪些产品的测试属于web测试?

    A. 12306网站B. 搜狗输入法C. 搜狗浏览器D. 搜狗壁纸E. ie1.0

    我的观点

    要回答这道问题,首先要明确什么是web测试?

    两年前的我会这样回答:网站的测试就是web测试;

    而现在的我会这样回答:互联网产品的测试是web测试。

    那什么是互联网产品呢?

    互联网产品经理?肯定不是 :-D

    我把互联网产品定义为有网络请求的软件(ps:这个理解可能不准确),按照我的理解,那开篇的这道题
    就有答案了,A一定是,B、C、D也是。

    当代的互联网产品,在优化用户体验的路上越走越远,这些产品会通过发送网络请求的方式,在降低程序
    自身大小的同时提高用户体验。

    ie1.0:为什么没有我?

    我:个人认为,作为ie的第一个版本,应该只是个本地的脚本解释器吧(可能是对ie有偏见导致我这么想
    的。。。希望有了解的同学可以为ie正名)。

    回到正题:web测试的关注点有哪些呢?

    我们做为一名测试工程师,对功能、性能、兼容性、UI、安全、接口,这些名词应该都不陌生,而每个
    人对这些名词都有各自的理解。

    下面先来说说我总结的功能测试关注点:

    什么是功能测试?

    问:这个产品要实现的功能是哪来的?

    答:产品经理在需求文档中定义的。

    问:那我们怎么进行功能测试呢?

    答:根据需求文档写用例,然后执行用例。

    说起来功能测试就这么简单,那为什么还会有犯迷糊的同学呢?因为功能测试难就难在设计用例的方法
    和执行用例的方法上。关于设计用例和执行用例的方法,大家可以翻阅之前关于黑盒测试的文章,会有
    详细的介绍,而今天我们说说页面功能测试的关注点:

    链接

    表单

    页面写法

    链接

    一个网站是由千万个页面组成的,那么连接他们的就是“链接”,所以链接就是功能测试中的一个关注点。
    链接有很多种写法来实现:直接写个连接、js跳转、服务器跳转等等。一般的门户网站,例如搜狐主页,
    不用想就知道,一个页面上有成千上万个链接。如果一个一个点击去验证,那效率就太低了。所以测试
    这些链接,我们一定要用工具。这里介绍一个扫死链的工具,名叫“xenu”,他能快速的查出一个页面中
    的死链,而且可以检查多级链接(但是一定要记得设置扫描级别,不然它会像爬虫一样扫上百层的链接
    ,这样会导致网络瘫痪的)。

    表单

    表单是web页面里最容易出问题的地方之一,因为他有很多危险的地方:post表单数据的时候、操作数
    据库的时候、接收返回值的时候;表单数据的格式是我们每次执行测试时都会验证的地方。对一个文本
    框设计用例,相信大家都有一箩筐的方法,边界值、等价类划分、多文本框时正交实验法等等,这里就
    不赘述了。我想说的是一些容易疏忽的地方,例如:注入js脚本、注入sql脚本、输入单独的特殊符号(
    例如:一个双引号,一个点)、输入一个空格,一个大括号等等,这些都是要特别注意的;我们的前
    端开发一般会通过正则来过滤这些特殊符号,但是可能会有一些遗漏,而一旦这些异常字符或者字符
    串顺利通过前端的过滤,进入后台,而后台同样没有做类似的处理,那后果是很严重的。12306官网曾
    经爆出的用户数据泄露,就是sql注入导致的,chrome浏览器的第一个bug,地址栏输入一个“.”,导致
    崩溃,这些都是活生生的例子,所以作为测试,一定不能放过每一个小符号。

    页面写法

    怎样才能说一个前端开发是个高手?

    页面代码写的易读、注释清晰、代码复用度高,这是首先能想到的。再深入一点:页面符合w3c标准,
    静态文件引用合理,页面加载速度快,再高手一点呢?严格遵守雅虎34条军规---这个应该很少有开发
    能做到吧 。

    那对于我们测试要关注哪些地方呢?

    与开发确认页面里每一个引用的文件都是有用的,因为一个没用的引用会影响页面的加载速度;

    header的第一行一定要是声明字符集的标签,如果不是可能会导致在声明字符集之前加载的页面元素
    乱码(当代浏览器会优化页面的加载顺序,优先加载字符集声明,但是优良的传统还是要保持下去);

    JS最好放到页面的最后,一些需要先加载的js最好要抽离出来放到header里,这样能保证页面更快的展
    现出来;

    js和css在上线前要做加密。查看一下搜狗主页的源码,你会发现一堆密密麻麻的代码,这就是加密过的
    ,好处是减小页面的体积更利于网络传输、并且可以提高我们代码的阅读成本;

    页面的js和css尽量外部调用。好处是页面的静态文件理论上都是可缓存的,外部调用提高页面的相应速
    度的同时还能减小服务器的压力,而且比起那些都写在一起的代码更易维护;

    可能有人会说,这些都是开发要考虑的事儿啊?但是作为一名优秀的测试工程师,要做的不仅仅是发
    现Bug,而是要给产品提出合理化的改进建议;给开发提出效率更高、成本更低的实现方案;共同持续
    优化我们的产品;



    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 11:27 , Processed in 0.068071 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表