努力,做一个成功的自己!

发布新日志

  • 招聘贴

    2017-11-23 14:01:44

    大型互联网公司招聘:测试开发工程师、移动端自动化测试工程师、测试架构师。
    岗位描述:
    1.按照产品架构和业务要求,制定和推进测试策略,测试计划和测试方法; 
    2.参与产品需求和架构设计评审,保证产品的可测试性; 
    3.参与测试效果评估和软件质量核查; 
    4.通过测试相关流程、策略、方法和工具等创新,努力提升测试的质量和效率; 
    5.解决测试过程中的复杂技术问题; 
    6.负责测试团队的研发效能提升工具开发,引领团队测试技术的发展。

    岗位要求:
    1.工科、计算机或其他相关专业本科以上学历;
    2.至少三年以上软件开发、自动化测试或白盒测试工作经验; 
    3.精通Java/python/Go等至少一种编程语言; 
    4.具备广泛的技术视野和很强的技术前瞻性,了解测试技术的发展; 
    5.很强的学习能力、分析能力和解决问题的能力; 
    6.熟练的文档处理、沟通表达和辅导技巧;
    7.有在O2O、电子商务等互联网领域产品的测试开发经验者优先;
    8.在性能、安全、自动化、无线等测试领域具备很强的专业技能者优先;
  • Linux学习之-Mysqldump

    2009-12-29 11:48:50

    2009年12月29日 

     小组学习的Linux的知识,因为总是学了不用就丢了,再总结一下:

    数据库的备份
    1.
    完整导出数据库:mysqldump 数据库名 >数据库备份名
    2.mysqldump -A -u
    用户名 -p密码 数据库名>数据库备份名
    3.mysqldump -d -A –add-drop-table -uroot -p >xxx.sql 
    4.
    导出结构不导出数据:mysqldump -d 数据库名 -u root -p > xxx.sql 
    5.
    导出数据不导出结构   mysqldump -t 数据库名 -uroot -p > xxx.sql 
    6.
    导出数据库中单独的表mysqldump -uroot -p -数据库名
    表名 > xxx.sql 
    7.
    导入数据库:mysql 数据库名 < 文件名 
    [yaoguang@gtest210011 ~]$ mysqldump -help;
    Usage: mysqldump [OPTIONS] database [tables]
    OR     mysqldump [OPTIONS] –databases [OPTIONS] DB1 [DB2
    DB3...]
    OR     mysqldump [OPTIONS] –all-databases [OPTIONS]
    For more options, use mysqldump –help
    8.
    导入数据库,只是导出结构的时候,数据库中不可以有同名的表;
    9.
    导入数据库,只是导出数据的时候,数据库中必须存在原来导出的同名的表,数据的格式依据现有数据库表中的类型截取;
    (*^__^*)
    嘻嘻……:再温故下
    show tables;
    show databases;
    use databases-name;
    create table table-name (XXX int, XX char);
    select * from table where ……;
      

     

     

    CHANGE子句可以用来重命名。

    例:将一个INTEGERa重命名为b,可以如下操作

    mysql> ALTER TABLE表名CHANGE  a  b INTEGER; 

    例:改变一个列的类型而不是列名

    Mysql> ALTER TABLE表名CHANGE  b  b BIGINT NOT NULL; 

    例:改变表名

    Mysql> ALTER table表名rename新表名 

    例:增加一列

    Mysql> alter table表名add字段名 字段类型 

    例:删除列

    Mysql> alter table表名drop要删除的字段名

  • 工具分享(二)

    2009-12-04 12:08:57

  • small tools URL

    2009-11-27 15:16:55

    http://internetsupervision.com/

     网站全球监测

    http://browsershots.org/  多浏览器检查

  • 测试职业发展规划

    2009-10-27 11:44:01

    国际推荐的软件测试职业发展计划:
     
    1~2年,测试技能:熟悉整个测试过程及产品业务领域,学习和掌握自动测试工具,学习测试自动化编程技术;开发和执行测试脚本,承担系统测试实施任务;掌握编程语言、操作系统、网络与数据库方面的技能。
    3~4年,测试过程;深入了解测试过程,掌握测试过程设计及改进,参与软件工作产品的同行评审;进一步了解产品业务领域,改进测试自动化编程技术;能指导初级测试工程师;加强变成语言、操作系统、网络与数据库方面的技能。
    4~5年,测试组织工作:管理1~3名测试工程师,担任任务估算、管理及进度控制;进一步培养在软件项目管理及支持工具方面的技能。
    5~6年,技术管理:管理4~8名测试工程师,提高任务估算、管理及进度控制能力,完成测试规划并制定测试计划;研究测试的技术手段,保持使用项目管理及支持工具的技能;用大量的时间为其他测试工程师提供技术及过程方面的指导;开始与客户打交道并做演示推介。
    6~12年,测试管理:管理8名以上测试工程师,负责一个或多个项目的测试工作;与客户打交道并做演示推介;保持使用项目管理及支持工具的技能。
     
  • 性能测试考题(LR)

    2009-09-21 12:18:51


         1.什么是负载测试?什么是性能测试?
     
          2.性能测试包含了哪些测试(至少举出3种)
     
          3.简述性能测试的步骤
     
          4.简述使用Loadrunner的步骤
     
          5.什么时候可以开始执行性能测试?
     
          6.LoadRunner由哪些部件组成?
     
          7.你使用LoadRunner的哪个部件来录制脚本?
     
          8.LoadRunner的哪个部件可以模拟多用户并发下回放脚本?
     
          9.什么是集合点?设置集合点有什么意义?Loadrunner中设置集合点的函数是哪个?
     
          10.什么是场景?场景的重要性有哪些?如何设置场景?
     
          11.请解释一下如何录制web脚本?
     
          12.为什么要创建参数?如何创建参数?
     
          13.什么是关联?请解释一下自动关联和手动关联的不同。
     
          14.你如何找出哪里需要关联?请给一些你所在项目的实例。
     
          15.你在哪里设置自动关联选项?
     
          16.哪个函数是用来截取虚拟用户脚本中的动态值?(手工管联)
     
          17.你在VUGen中何时选择关闭日志?何时选择标准和扩展日志?
     
          18.你如何调试LoadRunner脚本?
     
          19你在LR中如何编写自定义函数?请给出一些你在以前进行的项目中编写的函数。
     
          20.在运行设置下你能更改那些设置?
     
          21.你在不同的环境下如何设置迭代?
     
          22.你如何在负载测试模式下执行功能测试
     
          23.什么是逐步递增?你如何来设置?
     
          24.以线程方式运行的虚拟用户有哪些优点?
     
          25.当你需要在出错时停止执行脚本,你怎么做?
     
          26.响应时间和吞吐量之间的关系是什么?
     
          27.说明一下如何在LR中配置系统计数器?
     
          28.你如何识别性能瓶颈?
     
          29.如果web服务器、数据库以及网络都正常,问题会出在哪里?
     
          30.如何发现web服务器的相关问题?
     
          31.如何发现数据库的相关问题?
     
          32.解释所有web录制配置?
     
          33.解释一下覆盖图和关联图的区别?
     
          34.你如何设计负载?标准是什么?
     
          35.Vuser_init中包括什么内容?
     
          36. Vuser_end中包括什么内容?
     
          37.什么是think time?think_time有什么用?
     
          38.标准日志和扩展日志的区别是什么?
     
          39.解释以下函数及他们的不同之处。
     
          40.什么是吞吐量?
     
          41.场景设置有哪几种方法?

     

  • QTP 学习计划(转参考)

    2009-09-03 10:53:53

    QTP逐步提升学习指南(转)

     一、基础学习

      1 、需要掌握的基础:vbscript编程QTP自带的库函数

      2、需要准备的资料:vbscript中文帮助文档、QTP自带的帮助文档

      3、心理准备:QTP的帮助文档基本都是全英文的,因此要有良好的英语阅读能力,至少要有看到英语不怕的素质,我们可以装上金山词霸,随时查阅。

      4、学习的过程:安装QTP、熟悉QTP的界面、进行基础设置、录制第一个脚本、运行;

      5、QTP脚本调试常用:msgbox调试某个部分的输出、断点调试、F11单步运行

      6、修改录制好的脚本,以达到自己想要的效果。

      二、稳步提升

      1、对象:抓取对象、修改名称、管理对象树

      2、根据抓取的对象,不使用录制功能,独立写脚本;

      3、调试、运行脚本

      三、高级编程

      该部分主要以个人的一些想法作为题材,大家可以自由发挥、努力尝试

      1、入门

      1.1  编写导入一张excel表的一个sheet到QTP的datatable的脚本

      1.2  编写点击网页的某个链接或button自动启动QTP,执行某个Tests

      1.3  综合1、2即写一个Tests,其需要输入的信息由excel的sheet进行配置。启动QTP,读取配置的值,执行Tests。

      2、深入

      2.1  vbscript编写输出一个完整的html文档

      2.2  查询QTP帮助文档,了解QTP的错误报告

      2.3  运行一个Tests,输出错误报告

      3、邮件系统

      3.1  QTP编程实现向指定邮箱发送邮件

      3.2  执行Tests,将错误报告以邮件的形式发出

      3.3  整理错误报告样式,增强错误报告的可阅读性
  • 性能测试

    2009-08-25 11:36:56

    性能测试

    每天看着窗外文二路熙熙攘攘的车流,感觉就像我们的系统一样,流量越来越大。
    每当在文二路堵车的时候,就感觉像我们的性能瓶颈一样,系统响应时间变慢了。
    堵车的原因有:
    1、前面有车祸。1辆车拖垮一条路。就如程序中某个sql出了问题,1句话拖垮一个系统。
    2、道路太窄,车道太少。就如支撑系统运行的服务器不够了。
    3、车流量突然增大,超出交通部预测。就如系统访问量突然加大,超出预算访问量。
    4、红绿灯设置不合理,导致有些路段空闲,有些路段忙碌。就如系统架构设计不合理,导致服务器忙得很忙,闲得很闲。
    5、政府或公司在这条路上搞活动,进行道路管制。就如运营搞个活动,突加了系统流量,需要控制一样。
    6、车道太少,线程少。
    7、车加赛,资源竞争厉害,堵更堵。load值太高。
    8、天气变化,车流量加大。异常流。
    9、早晚高峰,流量是平时的N倍,这个N就是性能测试的时候需要通过PV转换的系数。
    10、新手过多红绿灯无法快速起步。
    11、行人车辆不遵守交通规则,出现异常迟缓。
    12.、某车道被占为停车位,占用资源。
    13、路边某店搞店庆,导致拥堵和流量异常(涉外因素非自身问题导致)。
    14、道路、车辆等设备过时、老化,无法适应高速发展的大城市。硬件、软件、网络平台瓶颈。
    15、上班高峰,车辆行人都在某个时间段增加,导致堵车;系统在peak值的计算。
    16、道路路面突然坍塌,导致通行受阻——道路本身施工有问题或者就是天灾(地震)导致。
    17、其他道路堵塞,很多车辆改走文二路。
    18、经济发展,买车的人增多,城市整体车流量增加,原有的道路设计无法适应不断增长的车流量,缺少前瞻性。
    19、行人、机动车、非机动车混合使用,互不兼容造成混乱。
    20、新手开车、或者疲劳驾驶,速度慢,导致其它车没法开快。某些接口或者方法执行速度慢,导致这个系统响应慢。
    21、车上没装GPS导航,司机边开车边想路应该怎么走。数据库索引没建好,导致响应速度慢。
    22、文二路只有5个车道,但有6辆车互不相让,同时去抢车道。内存溢出,系统崩溃。
    23、油价上涨,大家都改开柴油车了,自然开得很慢。 受外部应用的影响,本应用大量请求积压。
    24、有人逆向行驶,顿时天下大乱。
    25、本来只有两个车道,前面开了辆坦克占了两车道。上级系统性能问题,引起下级各系统请求堵塞。

  • 一个纸杯的测试用例(转载)

    2009-08-25 11:01:12

    一个纸杯的测试用例

  • 写得太好了,故转载并应用到工作当中(浅议日常工作当中的人力资源管理)

    2009-08-25 10:55:40

    浅议日常工作当中的人力资源管理

  • 加强记忆

    2009-03-02 15:10:21

    1、web servie 的概念;

    2、性能测试工具VSTS中的load test与LR的异同,优缺点;

    3、C#中的拆箱、装箱概念?值类型含义,引用类型含义?

    4、因果图设计测试用例?举例?

     

    -------

  • 精品blog

    2009-03-02 15:09:09

  • WEB测试总结(架构、设计)(转)

    2009-01-02 10:58:24

    WEB测试总结(架构、设计)

    字体      | 上一篇 下一篇 | 打印  | 我要投稿  | 每周一问,答贴有奖

      1、总计架构测试

      1)瘦客户端,业务逻辑规则多数在服务器端执行。如新闻站点、门户网站、信息发布网站等。

      2)胖客户端,安全性要求较高、交互操作频繁、业务逻辑复杂。银行系统、网络游戏、网上办公系统等。

      2Web架构组成部分是否满足需求

      成本、功能、安全性要求、容量要求、传输实时性。

      3、服务器配置分布是否满足要求

      Web服务器、应用服务器、数据库服务器可以分布在不同物理机器上也可以分布相同的物理机器上,一般优先考虑独立数据库服务器,Web服务器、应用服务器可以在相同的机器上。

      4、客户端设计测试

      1)功能设置测试:信息服务、办公自动化、Internet支持;

      2)信息组织结构测试:线性结构、分层结构、非线性结构;

      3)页面设计测试:

      a) 页面一致性测试

      b) 用户界面友好性及导航直观性测试;、

      c) 是否适合多种浏览器;

      d) 页文件的命名;

      e) 页面布局技术。

      5、服务器端设计测试

      1)容量规划测试:点击率、延迟和流量、服务器资源;

      2)系统安全测试

      a) 常识性安全策略,取消不必要的协议、控制写权限、取消服务器目录浏览属性、记录日志等;

      b) 使用加密技术;

      c) 构造防火墙,网络级、应用级、电路级;

      d) 构建网络防毒体系。

      3)数据库设计测试。

      6Web开发测试

      1)源代码分析,主要是使用检查工具来完成;

      2)链接测试,主要借助工具来完成;

      3)框架测试:

      a) 自动调整窗口大小;

      b) 是否提供滚动条;

      c) 打开新页面是否正常。

      4)表格测试,随窗体变化自动调整大小;

      5)图形测试:

      a) 颜色饱和度及对比度;

      b) 链接标识;

      c) 图形显示是否正确。

      7、与一般应用软件相比,Web测试有以下区别:

      第一、Web测试的侧重点是性能、安全、易用性、兼容

      第二、测试工具有所不同,如链接测试、表单测试、界面测试

      8、功能测试

      1)客户端的选择,优先测试流行的客户客户端;

      2)客户端浏览器的配置

      3)客户端的显示设置

      4)内容测试

      9、链接测试

      1)该链接将用户带到它所说明的地方

      2)被链接的页面是存在的

      3)保证没有孤立页面

      工具有WEBCHECKLINKBOTTESTPARTNERXENU

     10、链接测试工具的优势:

      1)简单易用

      2)在实现上采用多线程技术,检查速度特别快;

      3)对断开的链接可以再次测试,可以避免误判;

      4)没有检查链接的数量限制,只受系统资源的约束;

      5)可以分析Web应用的结构;

      6)检查结果可以分类查看,自动生成HTML格式的报告;

      11Web应用链接主要测试点如下

      1)测试内部链接和外部链接中成功和失败的链接点,以及应用中不被其他链接调用的页面;

      2)测试链接中新网页、老网页、慢网页以及丢失的图象标题标签和属性标签等;

      3)分析Web应用的结构是否合理,包括显示和某个URL相关的链接以及按照标题、描述、作者、大小、最后修改时间、类型为URL链接分类等。

      12、易用性测试

      易用性测试要考虑以下几个方面:

      1)用户的计算机使用经验;

      2)用户对浏览器以及Web的使用经验;

      3)用户的业务专业知识。

      13Web系统的易用性测试分为三个方面:

      1)界面测试

      2)辅助功能测试

      3)图形测试

      界面测试要考虑以下几个问题

      AWEB应用系统的最终用户群是谁?

      BWEB应用界面的设计策略是什么?

      C.页面中各元素布局的协调性

      a) 各元素位置的协调性

      b) 各元素颜色的协调性

      c) 各元素大小比例的协调性

      D.不同页面风格的统一性

      E.用户在界面中操作的便利性

      F.界面动态操作测试

      a) 屏幕分辩率设置的影响

      b) 浏览窗口最大化/最小化的影响

      c) 选定目标元素的置中与缩放

      辅助功能测试

      A.使用说明,这个没有多大意义,WEB网页按F1弹出来的页面都是IE的帮助页面,除非有特定的帮助说明内容

      B.导航功能

      C.站点地图

      D.帮助,这个没有多大意义,WEB网页按F1弹出来的页面都是IE的帮助页面,除非有特定的帮助说明内容

     

  • Web性能测试种类与全面测试模型(转载)

    2009-01-02 10:57:19

    WEB性能测试种类

      压力测试:确定一个系统的瓶颈或者不能接收用户请求的性能点,来获得系统能提供的最大服务级别的测试。

      负载测试:在被测系统上不断增加压力 ,直到性能指标达到极限,响应时间超过预定指标或者某种资源已经达到饱和状态。这种测试可以找到系统的处理极限,为系统调优提供依据。

      大数据量测试:针对某些系统存储、传输、统计查询等业务进行大数据量的测试。

      配置测试:通过测试找到系统各资源的最优分配原则。

      可靠性测试:可以施加cpu资源保持70%-90%使用率的压力,连续对系统加压运行8小时,然后根据结果分析系统是否稳定。即加载一定压力的情况下,使系统运行一段时间。

      并发测试:多以发现一些算法设计上的问题。

      性能测试以用户并发测试为主的测试。

      性能测试主要是为了发现软件问题和硬件瓶颈。

      对于性能方面给系统留有30%左右的扩展空间即可。

      Web全面性能测试模型

      预期指标的性能测试

      主要指需求分析和设计阶段提出的一些性能指标。

      针对每个指标都要编写一个或者多个测试用例来验证系统是否达到要求。

      预期指标的性能测试用例通常以单用户为主,如果涉及并发用户内容,则归并到并发用户测试用例中进行设计。

      并发性能测试

      选择具有代表性、关键的业务来设计用例,并且用户的设计应该面向“模块”

      用户并发性能测试分为:独立核心模块并发性能测试,组合模块并发性能测试

      独立核心模块并发:完全一样功能的并发测试;完全一样操作的并发测试;相同/不同的子功能并发。

      针对独立核心模块用户并发性能的测试用例设计,可发现一些核心算法或者功能方面的问题,如一些多线程、同步并发算法在单用户模式下测试是很难发现问题的,通过模拟多用户的并发操作,更容易验证其是否正确和稳定。

      核心模块测试一般属于基本的性能测试,它较多地关注模拟的“功能”,一般不会对服务器进行测试。

      组合模块并发:具有耦合关系的核心模块进行组合并发测试;彼此独立的、内部具有耦合关系的核心模块组的并发测试;基于用户场景的并发测试。

      组合模块测试一般发现接口方面的功能问题,并尽早发现综合性能问题。

      在实际中,各种类型的用户都会对应一组模块,相当于不同的业务组在并发访问系统,要充分考虑实际场景,如话费管理系统中的每月10日左右的收费高峰等场景。

      在编写组合模块用户并发性能测试用例时,不但要考虑用户使用场景,还要注意并发点的运用,并发点是指一定数量的用户开始执行同一功能或者操作的时间点,一组测试场景通常包含多个并发点,从而实现了核心模块同一功能或者操作的真正并发。

    独立业务性能测试

      独立业务实际是指一些核心业务模块对应的业务。这些模块通常具有功能比较复杂,使用比较频繁,属于核心业务等特点。主要测试这类模块和性能相关的一些算法、还要测试这类模块对并发用户的响应情况。

      用户并发测试是核心业务模块的重点测试内容。

      组合业务性能测试

      是最接近用户实际使用情况的测试,也是性能测试的核心内容。

      组合并发的突出特点是根据用户使用系统的情况分成不同的用户组进行并发,每组的用户比例要根据实际情况来进行匹配。

      用户并发测试是组合业务性能测试的核心内容。“组合”并发的突出特点是根据用户使用系统的情况分成不同的用户组进行并发,每组的用户比例要根据实际情况来进行匹配。

      网络性能测试

      为准确展未带宽、延迟、负载和端口的变化是如何影响用户的响应时间的。主要是测试应用系统的用户数目与网络带宽的关系。

      调整性能最好的办法就是软硬相结合。

      大数据量测试

      主要是针对对数据库有特殊要求的系统进行的测试,主要分为三种:

      1.实时大数据量:模拟用户工作时的实时大数据量,主要目的是测试用户较多或者某些业务产生较大数据量时,系统能否稳定地运行。

      2.极限状态下的测试:主要是测试系统使用一段时间即系统累积一定量的数据时,能否正常地运行业务

      3.前面两种的结合:测试系统已经累积较大数据量时,一些实时产生较大数据量的模块能否稳定地工作。

      大数据量测试用例的设计:1,历史数据引起的大数据量测试和2运行时大数据量测试

      首先确定系统数据的最长迁移周期和选择一些前面的核心模块或者组合模块的并发用户测试用例作为其主要内容即可.

      服务器性能测试

      性能测试的主要目的是在软件功能良好的前提下,发现系统瓶颈并解决,而软件和服务器是产生瓶颈的两大来源,因此在进行用户并发性能测试,疲劳强度与大数据量性能测试时,完成对服务器性能的监控,并对服务器性能进行评估。

      服务器性能测试用例设计就是确定要采集的性能计数器,并将其与前面的测试关联起来。

      设计性能测试用例注意的原则:

      可以满足预期性能指标测试用例要求的,就没有必要设计更多的内容,因为用例越多,执行的成本也越高。

      一定要服从整体性能测试策略,千万不能仅从技术角度来考虑设计“全面”的测试用例,“全面”应该以是否满足自己的测试要求作为标准。

      适当裁剪原则

      只有根据实际项目的特点制定合理的性能测试策略、编写适当的性能测试用例,并在测试实施中灵活地变通才可以做好性能测试工作。

      测试计划:主要包含测试范围、测试环境、测试方案简介、风险分析等,测试计划要进行评审后方可生效。

      测试报告:主要包含测试过程记录、测试分析结果、系统调整建议等。

      测试经验总结:不断总结工作经验是建立学习型团队的基础,实践-总结-再实践

  • Web性能测试种类与全面测试模型(转载)

    2009-01-02 10:55:56

    基于Web的系统测试在基于Web的系统开发中,如果缺乏严格的过程,我们在开发、发布、实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于Web的系统变得越来越复杂,一个项目的失败将可能导致很多问题。当这种情况发生时,我们对Web和Internet的信心可能会无法挽救地动摇,从而引起Web危机。并且,Web危机可能会比软件开发人员所面对的软件危机更加严重、更加广泛

      在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术。 一般软件的发布周期以月或以年计算,而Web应用的发布周期以天计算甚至以小时计算。

      Web测试人员必须处理更短的发布周期,测试人员和测试管理人员面临着从测试传统的C/S结构和框架环境到测试快速改变的Web应用系统的转变。

      一、 功能测试

      1、链接测试 链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。 链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后进行链接测试。

      2、表单测试 当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。

      3、Cookies测试 Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。 如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。

      4、设计语言测试 Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的HTML等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了HTML的版本问题外,不同的脚本语言,例如Java、Javascrīpt、 ActiveX、VBscrīpt或Perl等也要进行验证。

      5、数据库测试 在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。 在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。

      二、 性能测试

      1、连接速度测试

      用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。 另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。

      2、负载测试

      负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?

      3、压力测试

      负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。 进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。 压力测试的区域包括表单、登陆和其他信息传输页面等。

      三、 可用性测试

      1、导航测试 导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。通过考虑下列问题,可以决定一个Web应用系统是否易于导航:导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助? 在一个页面上放太多的信息往往起到与预期相反的效果。Web应用系统的用户趋向于目的驱动,很快地扫描一个Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快地离开。很少有用户愿意花时间去熟悉Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。 导航的另一个重要方面是Web应用系统的页面结构、导航、菜单、连接的风格是否一致。确保用户凭直觉就知道Web应用系统里面是否还有内容,内容在什么地方。 Web应用系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加明显。

    2、图形测试 在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个Web应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。

      图形测试的内容有:

      (1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。Web应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。 

      (2)验证所有页面字体的风格是否一致。 

      (3)背景颜色应该与字体颜色和前景颜色相搭配。 

      (4)图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩。

      3、内容测试

      内容测试用来检验Web应用系统提供信息的正确性、准确性和相关性。 信息的正确性是指信息是可靠的还是误传的。例如,在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确性是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用Microsoft Word的拼音与语法检查功能;信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中的所谓相关文章列表。

      4、整体界面测试

      整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览Web应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方?整个Web应用系统的设计风格是否一致? 对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。 对所有的可用性测试来说,都需要有外部人员(与Web应用系统开发没有联系或联系很少的人员)的参与,最好是最终用户的参与。

      四、 客户端兼容性测试

      1、平台测试

      市场上有很多不同的操作系统类型,最常见的有Windows、Unix、Macintosh、Linux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。 因此,在Web系统发布之前,需要在各种操作系统下对Web系统进行兼容性测试。

      2、浏览器测试

      浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java,、Javascrīpt、 ActiveX、 plug-ins或不同的HTML规格有不同的支持。例如,ActiveX是Microsoft的产品,是为Internet Explorer而设计的,Javascrīpt是Netscape的产品,Java是Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样。 测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。

      五、 安全性测试

      Web应用系统的安全性测试区域主要有:

      (1)现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。

      (2)Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。

      (3)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。

      (4)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。

      (5)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。

      六、总结

      本文从功能、性能、可用性、客户端兼容性、安全性等方面讨论了基于Web的系统测试方法。 基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测。

Open Toolbar