发布新日志

  • 不能以代码能力评价测试人员

    2018-12-16 23:10:12

    测试人员的核心价值和能力包括多个方面,代码能力只是其中一项,测试人员的代码能力比开发人员弱,并不能说明测试人员价值低。

    测试人员需要具备的能力包括:不同的时刻,不同的能力占领主导,这里缺少了业务的理解能力。



  • 自动化测试的演进之路

    2018-08-27 18:24:45

    自动化测试演进之路
    https://mp.weixin.qq.com/s/NpYtrfv_0r-14oUzVJgkmw
  • 测试人员能力模型

    2017-09-22 13:48:02

       不管我们是为了客观考核还是客观评价测试人员,都需要一个打分表,打分表里面需要对测试人员的各个能力进行客观评估,实现对测试人员的评价。但是现实工作中,不是每个能力都可以客观评价的,例如沟通能力、业务知识掌握能力。这里提供了一个以结果为导向的测试人员能力评估模型,以供参考。
       以结果为导向:结果包括测试质量、测试效率和知识范围三个维度。如果满分为100%的话,各个维度的占比:测试质量40%;测试效率40%;知识范围:20%,各个维度的百分比可以根据自己公司注重的内容调整。
    最后的模型参见下面的截图(截图中各个能力的具体内容也可以根据自己公司关注的内容进行调整,例如个人影响力关注测试人员影响开发的能力,要求开发实施冒烟测试和单元测试需求数量。)



  • 我的软件测试经历

    2017-09-21 13:17:34

       截止到今天,我已经是测试行业入行11年多的老人了,不敢想象自己竟然在一个行业干这么久,也许会把测试工作作为一生的职业。这11年见证了测试行业一点点壮大,测试行业的多样化。
       去年看到51testing的调查报告,从事软件测试超过8年以上的比例非常少了,估计都耐不住寂寞,纷纷转行了。
       我本科学的通信工程,刚毕业那阵到了一家通信公司做通信督导工作,主要负责通信基站的开通、网优等工作。长期在广东的各个市跑,短短半年,几乎整个广东省都跑遍了。由于受不了长期漂泊和出差的痛苦和无助。于是裸辞了。
       第二年过完年就来到北京找工作,通信行业,不是huawei、中兴、大唐这些大的研发公司就是联通、移动、电信、网通这些国有企业,其他就是一些和这些公司合作的第三类公司。作为一个没有开发经验的刚必要的人员而言,前2类企业实在不好进,第三类公司也不想进。所以就有了转行的念头。经过一帆调查,IT行业内部转容易些,同时考虑到门槛,选择了软件测试行业。入这个行业也是51testing的宣传力度。但是各大网址都在宣扬,软件测试缺口30万,高薪就业。现在想想如果当时入职架构或者设计行业会怎么样?。摸爬滚打10几年应该有另一番天地。
       这个行业先后经历了四家公司:
       第一家:国有转行IT企业,央行背景;
       第二家:老牌世界500强外企;
       第三家:国有转行IT企业,科技背景,服务银行;
       第四家:上市公司控股背景的私人企业;
       每个企业都有自己的特点,测试也有自己的风格。不过软件测试的规范性是越来越高。国内私人企业灵活性比外企要大的多,说白的就是不太制度化。国内的国有企业或者大企业由于不差钱,发展的不弱于国外企业。
       从技术层面,在这些企业,先后经历了手工测试、形能测试、第三方测试、test leader、测试项目经理、测试培训、自动化测试、资深测试等各个角色。在各个角色转变过程中逐步找到自己的定位和喜好。最后还是走技术路线,现在感慨BAT公司测试行业发展的速度,也感慨之前的一些遗憾,不知道自己还会在测试行业坚持多久,随着年龄的增长,有事回觉的力不从心,希望且行且珍惜吧。
      国内的技术跟国外比还是有很多差距,举个例子吧。国内从事软件测试超过8年以上的占比非常小,而国外年龄40以上在做测试甚至是基层测试的人比比皆是。这是一个长期沉淀的结果,也是国情和价值观决定的。简单理解:国内测试技术是上升期逐步往稳定期转变,而国外已经是稳定期晚期了。前几天在51testing做过一个调查,还有非常多的企业只有手工测试。看看《微软的测试之道》、《google的测试之道》,发现还是有很大的差距。
       抽个中午时间感概下,不喜勿喷!
       

  • 以举例方式解释经常混淆的概念

    2017-09-12 16:04:36

    1、进程和线程的区别
       开一个QQ,启动一个进程;
       开一个迅雷,启动一个进程;
       使用QQ上传文件,开启一个线程;打开QQ的语音,又开启一个线程....
       如何进程是一个应用程序,那么线程是应用程序中的各个功能模块。
       线程共享进程的上下文环境资源(CPU、显卡、内存等);
    2、内存溢出和内存泄漏的区别
       内存泄漏是申请的控件没有及时释放或干脆丢了指针无法释放,举例:电热水器洗完澡不关水,一直占用,其他人用时没有热水
       内存溢出,是申请内存时无可用内存。举例:水杯满了在加水没有空间存。

  • 浅谈测试专家需要具备的技能

    2017-09-12 12:56:12

    测试专家需要具备的技能
    1、精通某一专项测试:自动化测试方向、性能测试方向、安全测试方向
    2、具备一定的管理能力:测试计划、进度跟进、任务分配、沟通、协调能力;
    3、具备优化测试流程的能力:可以根据不同公司不同部门不同系统的特点,进行测试流程规划、设计和优化的能力;
    4、业务能力:对所在行业的业务知识有深刻的认识和理解;
    5、认知水平:了解行业发展趋势和前沿动态,并可以先进的理念、技术成功落地能力;
  • 关于敏捷测试-2

    2010-04-27 13:26:17

    Agile Defined in IBM:

     "Uses continuous stakeholder(利益相关者) feedback to deliver high-quality,consumable code through user stories and a series of short,time-boxed iterations."

    Key characteristics of successful Agile project:

    • Stable
    • Stakeholder
    • Self-Directed
    • Sustainable

    The difference between traditional process and agile process:

    waterfall process:

       concept---->plan phase----->Develop------>Quality----->ROLLOUT

    Agile process:

       concept---->plan phase---->Iteration 1,2,3..Iteration N(Dev&Quality)----->ROLLOUT

    Below is a project case about how to implement Agile test:

    1.  The introduction of Agile software development

    There are four basic valuable principles:

    • Individuals and interactions over processes and tools
    • Working software over comprehensive documentation
    • Customer collaboration over contract negotiation
    • Responding to change over following a plan

    Below is the develop process about Agile

        

        2.Your role and responsibility in Agile project

       As a tester in Agile project,you should have three basic abilities:

    • Coding
    • Testing
    • Analysis  

    and there are also three responsibilities:

    • Define Quality--as a Quality controller,you should communication directly with final customer in sprint plan phase and define the quality requirment for the product function.
    • Communication--Agile test emphasize on communication,between development and tester,customer and tester.you should find the defect for the design to make the requirment and product outcoming consistent.
    • Feedback--Agile test emphasize on simpleness and high efficiency.you should feedback the product defect in time.

      3. The test process in Agile project

    There is a test activity according to develop activity in Agile,below is the relationship corresponding:

     Main Dev activity Test activity 
     Customer stories design  Search hidden hypothesis
     Issue plan  Design general verification test case
     Iteration sprint  Measure the verification test time
    Coding and unit testing  Measure to deploy the test framwork
     Re-acting  Design the verification test case detailed
     Integration  write the verification test case
     Do the Verification test  Re-acting the verification test
     End of sprint  Execute the verification test
     Next beginning of sprint  Execute regression test
     Issue  Issue

     

  • 如何发现客户端软件中的内存泄漏?

    2008-06-12 20:29:26

       对于题目中的问题,我今儿个发表下个人见解,有不正确之处还请大侠们多多指点.

       为了定位客户端内存泄露我们首先先判定客户端操作系统是什么?windows还是Unix(Linux)?

       无论是windows还是Unix(Linux),我们都可以通过两种方式进行监控和定位:
       方式一:

       若是windows操作系统,可以通过手动查看性能计数器的状态进行问题定位,近而确认是否是内存泄漏,操作步骤如下:

       选择开始-〉控制面板-〉性能和维护-〉管理工具-〉性能查看系统各种资源的使用情况,我们还可以通过图表上面的"+"来选择要查看的计数器信息;
       若是unix或者linux系统,可以通过命令行的方式察看系统资源,操作步骤如下:

       输入vmstat(-f|-s)命令来监控系统内存使用统计,包括进程信息、memory信息、page信息、错误信息、cpu信息;输入top命令用于显示进程对系统资源的利用程度,包括cpu占用百分比信息,内存资源使用情况;还可以通过free命令察看内存信息;
       例如:输入vmstat命令后显示的信息如下:
        procs    memory             page                        faults       cpu
        r  b  w  avm   free    re  at  pi  po   fr  de   sr   in   sy   cs  us  sy id
        1  0  0 925137 928837  535 2   0   0    0   0    0   1001  2271 136  1   1 98 
        输入top命令后信息显示如下:
    System:****                                     Thu Jun 12 17:43:58 2008
    Load averages: 0.02, 0.02, 0.02
    178 processes: 166 sleeping, 11 running, 1 zombie
    Cpu states:
    CPU   LOAD   USER   NICE    SYS   IDLE  BLOCK  SWAIT   INTR   SSYS
     0    0.05   0.8%   0.0%   2.0%  97.2%   0.0%   0.0%   0.0%   0.0%
     1    0.01   0.0%   0.0%   0.0% 100.0%   0.0%   0.0%   0.0%   0.0%
     2    0.01   1.4%   0.0%   1.2%  97.4%   0.0%   0.0%   0.0%   0.0%
     3    0.02   0.0%   0.0%   0.2%  99.8%   0.0%   0.0%   0.0%   0.0%
    ---   ----  -----  -----  -----  -----  -----  -----  -----  -----
    avg   0.02   0.6%   0.0%   0.8%  98.6%   0.0%   0.0%   0.0%   0.0%

    Memory: 2898688K (1078576K) real, 9436116K (3305252K) virtual, 3714620K free Page# 1/6

    CPU TTY     PID USERNAME PRI NI   SIZE    RES STATE    TIME %WCPU  %CPU COMMAND
     0   ?    11015 root     152 20  1314M   480M run      5:55  0.80  0.79 java
     1   ?       39 root     152 20  9632K  9632K run      8:18  0.76  0.76 vxfsd
     3 pts/ta  5673 fism     178 20  7328K  5372K run      0:00  0.38  0.21 top
     0   ?    26606 1001     152 20   147M 14468K run      0:00  0.12  0.12 db2fmp
     0   ?     5656 dasusr1  168 20 12104K  1392K sleep    0:00  0.14  0.11 db2admin
     1   ?     1624 root     152 20 26128K  4044K run      0:10  0.10  0.10 vxsvc
     1   ?     1898 root     152 10  6296K  1008K run      0:00  0.10  0.10 memlogd
     3   ?     1748 root     168 20  7876K   888K sleep    5:03  0.08  0.08 db2fmcd
     0   ?      517 root     152 20  2276K   332K run      1:05  0.08  0.08 syncer
     0   ?    15888 db2inst1 154 20  5849M 14148K sleep    0:03  0.06  0.06 db2agent
     1   ?    15841 db2inst1 152 20   253M 32596K run      1:38  0.06  0.06 db2hmon
     1   ?      647 root     127 20  5132K   500K sleep    0:16  0.05  0.05 netfmt
     0   ?    15859 db2inst1 156 20  5720M 10436K sleep    0:08  0.05  0.04 db2loggr
     0   ?    11061 db2inst1 154 20  5848M 14204K sleep    8:19  0.04  0.04 db2agent
     3   ?        3 root     128 20    32K    32K sleep    1:06  0.04  0.04 statdaemon
     3   ?    29602 1001     152 20   142M  9172K run      0:00  0.04  0.04 db2fmp
     0   ?     1319 root     154 20  2752K   376K sleep    1:55  0.04  0.04 pwgrd
     0   ?     1165 root     154 20  3900K   732K sleep    0:50  0.03  0.03 sendmail:
     1   ?        0 root     127 20    32K     0K sleep    0:12  0.02  0.02 swapper
     2   ?        1 root     168 20   496K   204K sleep    0:28  0.02  0.02 init
     1   ?        2 root     128 20    32K    32K sleep    0:00  0.02  0.02 vhand
     2   ?        4 root     128 20    32K    32K sleep    0:04  0.02  0.02 unhashdaemon
     2   ?       19 root     147 20    32K    32K sleep    0:09  0.02  0.02 lvmkd
     3   ?       20 root     147 20    32K    32K sleep    0:09  0.02  0.02 lvmkd
     2   ?       21 root     147 20    32K    32K sleep    0:09  0.02  0.02 lvmkd
     3   ?       22 root     147 20    32K    32K sleep    0:09  0.02  0.02 lvmkd
     0   ?       23 root     147 20    32K    32K sleep    0:09  0.02  0.02 lvmkd
     0   ?       24 root     147 20    32K    32K sleep    0:09  0.02  0.02 lvmkd
     1   ?       32 root     148 20    32K    32K sleep    0:01  0.02  0.02 lvmdevd
     2   ?       67 root     148 20    32K    32K sleep    0:02  0.02  0.02 lvmdevd
     0   ?       69 root     148 20    32K    32K sleep    0:02  0.02  0.02 lvmdevd
     3   ?      533 root     153 20    32K    32K sleep    0:00  0.02  0.02 dmprestored
       上面的数值应该很明确了,就不用多说了吧.

       方法二:我们也可以通过比较流行的性能测试工具loadRunner进行监控客户端的内存情况:
       具体怎样通过LR工具进行设置就不详述了.要添加的监控指标包括:

       Memory\Available Mbytes;

       Pages/sec、Pages Read/sec和Page Faults/sec;

       Physical Disk


       下面主要说一说通过监控这些指标,来确定内存问题的步骤:
        1.首先查看可用内存(Memory\Available Mbytes)计数器指标。若值较小则可能有内存问题,需进一步分析。
        2.注意Pages/sec、Pages Read/sec和Page Faults/sec计数器的值。 Pages/sec和Page Faults/sec的值持续很高,很可能内存问题,若Pages Read/sec的值超过5,则可判断存在内存问题。
        3.根据Physical Disk计数器的值分析性能瓶颈。如果磁盘的Average Disk Queue Length计数器增加的同时Pages Read/sec并未降低,则可判断内存有问题。

       上面是个人拙见,还请大侠多替宝贵意见!

Open Toolbar