51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 31823|回复: 73
打印 上一主题 下一主题

【你来问我来答第54期】:笑傲测试----测试对象的识别与分析(已结束)

[复制链接]

该用户从未签到

1#
发表于 2015-1-6 10:50:34 | 显示全部楼层
hlhong 发表于 2015-1-4 17:06
你好!麻烦对ERP的测试给一些建议,谢谢

额,其实根据实际问题,才能得到对症的建议。范范的问题,通常只能拿到模板式的答案。。。
传统的ERP系统以下方式分解:
1.   从测试方法的角度来看,可以分为以下7种测试目标类型:
      1.1 数据结构:
            表字段的创建和修改没有什么特殊的测试技能要求,按照需求设计文档查看数据库结构即可
      1.2 程序界面
            界面根据测试目标的不同属性,又可分为查询控件、视图、菜单、按钮…… 等,可将相同类型的测试目标提炼公用测试方法或用例(根据ERP框架对控件的设计,可以考虑在此切入灰盒和自动化测试)
     1.3 程序功能
           程序功能的分解因不同的设计而异,此部分的进一步分解只能根据实际情况来分析。
     1.4 场景流程
           ERP在流程场景中常会遇到2种情况:
           1.4.1 流程同一个分支存在较多的判断条件:单独分解每个判断条件包含的元素(通用的等价分解即可实现),再将分析结果按判断条件之间的关系使用判定表或正交组合出场景清单
           1.4.2 存在多个循环嵌套的业务流程:将每个循环作为独立的分析对象,从内到外逐层分析。若存在复杂判断,参考1.4.1
     1.5 数据清洗
           以数据源为基准,以等价法独立分析每个数据源字段,再根据数据源之间的关联规则,使用正交或两两组合的方法整理数据源清单。(通常ERP报表/部件的数据源较复杂,故不建议使用判定表法,在整理数据源清单过程中,还可根据数据源特性进行分类,如包含多个独立存储过程的数据清洗,可以按照存储过程对数据源进行二次拆分)
     1.6 数据导数
           导数测试的数据分析并不难,比较麻烦的是需要将导数部分与ERP功能进行关联分析,理清哪些功能受导数影响,以框定测试范围。
     1.7 性能
           性能部分需要根据测试目标实体的瓶颈来具体分析
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2015-1-6 15:35:12 | 显示全部楼层
blackn72 发表于 2015-1-5 08:44
对于终端安全测试、自动化测试、性能测试,有什么好的工具?

目前嵌入式测试的工具化没有像PC平台一样规模化(非垄断商业化的必然产物),所以不存在通用的‘好工具’,而是根据OS进行选择。

就目前而言,在国内开展手持终端的自动化测试,仅仅适用于冒烟测试,而功能和性能的自动化测试,收益不大,仍处于撑门面的东东
(目前手持终端系统各个里程碑版本间的API均可能存在较大差异,甚至经常在国内是无法获取到测试所需的API(目前国内大部分手机企业还处于第三方APP开发的地位,很难获取到OS生产商的全力支持),导致测试环境搭建与维护均存在瓶颈)

环境搭建:建议使用linux搭建测试服务器环境
*IOS(10.7以上)
  instrument、Appium
*Android(4.2以上)
  Appium、Robotium*Symbian(S60以上)
  TTCN:根据AT指令集为基础开发的测试API,适用于接口与集成测试
  ASTE:根据控件API开发的UI自动化测试工具,适用于功能测试  
*MTK
  暂无(可以自己调AT指令集开发monkey tools)

备注:
1. 关于脚本语言的学习选择,如果有明确目标,根据工具要求学习对应语言即可;若无目标,建议学习轻量级的脚本语言,如Ruby
2. 其实目前IOS/Android 的功能自动化测试工具的原理均大同小异,均是基于OS控件,调用已有服务或程序代码桩,实现UI录入与检查
3. 安全测试工具目前没有开源,这部分需根据调用的协议的加密规则,设计测试桩,并通过抓包后反编/解码的方式来自行开发测试工具
4. 至于性能测试,不太明白预期期望是什么。如果是功耗,可考虑将OS自带的系统监控工具信息logs出来,或者通过电流监测来实现;如果是UI反应速度,则可以考虑设计测试桩或使用其他仪器(高速摄像机)实现
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2015-1-6 16:58:41 | 显示全部楼层
zm51testing 发表于 2015-1-5 09:03
一直是用的手工来测试手机终端,请问前辈:需要提高手机终端的测试,应该主要学习哪些?

其实我不能很好的回答你的问题,原因是目前你能学到的技能,和你所在的客观环境(公司)存在密切的关系,很难在一家公司里,能将测试域的所有技能都学全,但是你可以根据公司的特点,专精某些测试技能。
-------------------------
测试域的技能大致分为5个方面:
1.业务知识:适用于测试目标的业务背景知识域
2.测试方法:目标分析(需求、测试实体)、测试设计(策略、用例)、测试实例化(环境部署、执行)
3.测试控制:测试标准(入/出口)&流程、质量评估(监控、总结、评估)、测试里程碑管理、人力资源管理
4.流程控制:项目开发标准&流程、项目里程碑管理
5.开发技能:开发模式、代码/脚本编写、测试工具原理
-----------------------
针对于手持终端而言,区别在于对手持终端特有的业务背景与测试方法学习的深度。
1. 手机整机测试(目前国内只有少数生产商,地域受限于珠江三角洲一带)
    可以参考之前的一些建议12#:http://bbs.51testing.com/forum.php?mod=viewthread&tid=440341&page=5&authorid=242574
    简单来说,如果你正处于一家手机生产商企业,在2年内,则大可将你所有闲余时间都投到手机的各个生产阶段中,了解整机研发的2条主线:   
    1.1  芯片-->硬件-->驱动-->组装
    1.2  芯片-->系统-->程序-->驱动
    主线中各个测试目标的可测性及测试方法,至少达到了解的程度。再根据个人对自己的职位目标,选择学习重点。
2. 第三方APP测试
    功能手工层面的学习不再累述,主要谈几点额外的东东:
    2.1 工具化:‘测试人员开发测试工具,开发人员使用工具,简单功能测试外包’的趋势逐渐浮出水面,如果期望能在测试域的技术上有竞争力,工具化技能是必修课。但是手持终端的工具化还不成熟,不建议像PC测试一样,依靠某1~2个工具的使用端上‘铁饭碗’。学习重点关注于‘工具原理’,在学习使用工具过程中,并不是为了更熟练使用工具而学习,而是为了后期切换‘测试工具开发’作基础准备。在这个学习过程中,将会了解各种协议标准、AT指令等
   2.2 测试/项目控制:随着‘敏捷化’流程被越来越多的公司青睐,各种流程标准,质量标准再也不像CMMI年代那么清晰。如果没有理解过‘何为标准流程’,很难在今后的质量评估中有所建树。所以,即使现在用着轻量化流程,但也需要学习重型流程,了解重型-->轻型的过程,才能为各类‘敏捷’问题指明方向。
  2.3  编码:这一点不想多说,如果期望在今后激烈的测试竞争中保留最基础的竞争力,多花点时间在编码上吧。不是说要精通多少门语言,只需要熟练1种语言即可。

学习技能的基础原则:学习过程中自己觉得难的、花费时间长的,往往才是核心竞争力的技能。短时间速成的技能,只能是上岗技能,根本不具有竞争力,因为那玩意任何人都会。

回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2015-1-6 17:36:41 | 显示全部楼层
rose_flower0508 发表于 2015-1-5 11:18
您好,前辈!现在测试发展的趋势,您觉得是移动端测试比较热一点,还是web测试比较热一点。本人是,这两个 ...

其实Web或Mobile都不是择业的第一优先级条件。
首先,择业选择的是‘公司’,可谓是‘老板指哪里,我就在哪里’。优秀可持续发展的公司,不管它是做Web还是Mobile,都是最优先选择的对象,而该公司对应的业务,自然也是你学习的方向。
其次,如果没有心仪的公司,建议以Web为主,原因有二:
1. Web的测试技能基本可以通用,测试方法相对于终端测试会少一些
2. 国内基本没有手持终端的核心技术(就算有,也离国际水准较远,卖卖第三世界国家还可以。。),行业主导力不强,导致需要经常学习完全不同的业务背景(其实就是职业竞争力欠佳)
------------------------
至于Web与Mobile的测试根本区别
从手机测试 ---> B/S测试,测试基础方法没有差异。我只是将自己放在测试新人角度,将已掌握的测试方法套用到新的业务背景上去而已。
1. 学习测试目标的业务背景,并按照自己能理解的方式作分类(整个过程大约5个月左右)
2. 将测试目标重新分析,并将测试目标通过基础的测试方法进行实例化 (一般情况下, 如果只做单个业务背景的测试,是不需要完全重新分析测试目标的,只需要分析差异点而已)
3. 分析测试结果,识别薄弱的业务背景并补齐。(大约2个月左右)
4. 学习系统结构,数据结构,作手接口/工具化测试

小结:整个过程中,我的目标很单一:‘将测试实例化为可执行,可检测的实体’。实际操作过程,缺什么就补什么。


回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2015-1-7 17:13:34 | 显示全部楼层
小余最近比较忙 发表于 2015-1-5 17:43
你好,刚接手APP的测试,对于这块有些不明白的,请教下。
1.APP测试需要关注网络连接情况吗?即wifi和移动 ...

1.APP测试需要关注网络连接情况吗?即wifi和移动网络(2G/3G/4G)情况。
   需要关注,但仅仅是关注是否能够使用多种协议连接,而连接的性能不在普通第三方APP关注范围内。
   APP网络兼容的测试范围取决于终端支持何种协议,其实可以在APP的系统兼容测试中覆盖,无需独立测试。
   举个例子,开发第三方IM类型的APP,要求支持WM6.5+/ Android 4.3+/ IOS10.7+等OS,在系统测试中,先根据OS选择测试实体机,再根据不同OS支持的协议类型,以及不同OS封装协议后遗留的接口确定测试对象范围。(并不是每个协议都预留了接口,有时候会将多个协议打包封装接口,比如将TCP/UDP 打包封装后,提供一个外部接口供第三方APP调用。)
   我们在实际测试中,只需要确保APP能调用OS提供的协议模块接口即可,至于被封装协议本身功能,则不在测试范围内。

2.app的兼容性测试重点是什么?
   APP兼容性的优先级排序:OS类型-->生厂商品牌-->系统版本(品牌版本)--->产品型号--->显示屏规格
    根据测试资源的多寡,对优先级排序中的分支进行覆盖,不需要追求覆盖所有分支,最低保证1,2级根节点被覆盖完全即可。

求大大给些这方面的资料或推荐下这方面的书籍,谢谢。
    嵌入式测试的书籍上面我帮不上忙,我自己的理论和经验大多都是从各个公司自身的资料获取提炼的。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2015-1-7 17:30:59 | 显示全部楼层
hlhong 发表于 2015-1-6 15:31
首先,非常感谢您的回复。追问:
1、“数据导数”是什么意思,ERP中什么地方会用到数据导数呢?
2、如 ...

1、“数据导数”是什么意思,ERP中什么地方会用到数据导数呢?
      导数类需求多出现版本升级/个性化底层开发需求中。当需求涉及基础数据结构调整,则可能会出现。
      如,客户部分原始数据存在表table_project 中,客户买了新版本的系统,而新版本系统中,该部分数据已被调整存储到table_N_projct中,且两表之间的数据结构存在部分差异。故我们需要将table_project 的客户数据导入table_N_projct表中,并需要根据新表的数据结构,调整原始客户数据的部分字段。
      这类需求则是‘数据导数’。

2、如果要实施自动化测试的话(包括功能测试和性能测试等),用什么工具比较合适
      自动化测试工具选择,优先考虑目前已规模化的QTP和LR。
      如果因为本身ERP特性(如使用的框架较为久远)无法使用规模化的功能测试工具,则可以考虑使用selenium为核心自行开发UI测试工具(开发和维护成本较高)
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2015-1-12 13:16:32 | 显示全部楼层
Miss_love 发表于 2015-1-8 19:01
你好、1、针对B/S架构测试,如何对session和cookies进行测试?

Session和cookie的测试方法并没有什么不同,主要区别在于测试环境的不同(Session在服务器测试,而cookie的测试则在浏览器)
以下以Session举例,cookie可参考。
1. 黑盒测试
   1.1黑盒对于Session并没有太好的测试方式。主测试过程为2条:
      1.存储Session(通常是通过事件来触发,如未检索到页面访问请求中的Session ID)-->读取Session(也是通过事件触发,如检索到Session ID)
      2.存储Session-->删除Session-->页面请求消息到来
   1.2测试范围:
      Session的主要测试范围取决于需求,也就是‘存什么’和‘删什么’,通常都是存一些地址,用户信息以及时间的东东。
   1.3其他测试范围(可选):
     1.关联功能测试:如,Session 的 Time out时间测试
     2. 容错测试: 如,B/S会话过程中,消息中断/回复测试
     3. 兼容测试:如,主流的不同浏览器内核
  
2. 自动化测试
    2.1.自动化测试主要是通过在代码中打测试桩来实现,如,已知服务器某一事件存储Session ID,然后在会话结束的代码前打入测试桩Session["ID"].tostring(),再与工具的验证点进行匹配即可。必要时,也会在浏览器端进行相同的验证。
    至于Session的基础属性,如Time Out,也可以通过直接在代码中打印logs的方式进行验证。(当然,一些潜规则还是需要简单了解,比如,如果Time Out没有设置,则为20min)
    2.2.系统的自动化测试没有接触过,不做分析。
3.Session 和cookie的区别
   3.1 两者在原理上没有区别,但因为各自运行环境和功能目的不同,导致集合和属性有一些差异,这部分建议在测试之前提前学习。
   3.2 两者在测试范围上,除功能测试外,其他类型的测试在侧重点上有差异,建议根据产品的最终用户环境来进行取舍(如,通常情况下,Session 测试更关注性能,而cookie测试更关注兼容性)
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2015-1-12 14:21:30 | 显示全部楼层
心晴~~ 发表于 2015-1-8 21:00
大神,我想请教一下如何写erp的测试用例,我现在也是在测试自己公司用的erp,但由于平常测试偏向于组装测试 ...

1. 每个测试团队/个人,选择的测试方法往往与客观环境息息相关,所以,我告诉你的东西并不一定适合你,只希望能给你一些思考方式,你再通过自身结合实际情况,创造出适合你自己的测试方法。

2. 根据你提供的已有测试信息,建议使用测试目的为导向的测试分类(即首先确认先确认达到什么样的测试目的,再选择测试方法,最后将相似的测试方法进行分类汇总)。
    可参考的测试分类:测试要点控制,测试数据控制,测试流程控制(鉴于以往测试中,未进行较小粒度的测试类型划分,且测试系统相对你个人来说,已经较为熟悉,故不建议使用测试用例控制)
    测试要点控制:复杂场景流/数据清洗,均可使用。建议以思维导图的模型为基础,利用树枝图的特点,将复杂的测试对象按照不同的属性逐层分析(分析的最小粒度标准为简单易懂的元素),在重新分类汇总以后,可以通过组合方法(两两,正交)得到测试要点的场景流和数据流(组合的过程可以在思维导图中完成,也可以使用表格工具完成(如,Excel))
    测试数据控制:有明确的输出验证标准时,还是使用你原先的‘测试流程控制’,如,在ERP中新开发一张客户报表,已有客户数据库及客户历史非ERP报表时,使用测试数据流控制的方式可以更高效。(但是开发人员排查bug的时间会比较长)
    测试流程控制:建议分为2类
                           2.1 简单的ERP功能需求:在需求文档已经足够支撑开发/测试时,并不需要更多的测试策略和设计。此时可以直接‘按需测试’即可。(如,页面添加独立的字段,且与其他页面关联较小的需求)
                           2.2 验收测试中的主流程测试:首先需要清理一份较为完整详细的ERP功能结构图(建议以页面为骨架,页面元素(列表、视图、最好包含字段)为最小颗粒度),在图中尽可能标识出的各个元素关联关系(同一页面元素的关联可以不用标识(复杂的可以标记一下),不同页面元素的关联关系是标识的重点)。 需求开发时,将需求功能刷新到ERP结构图中,可以框定该需求功能的关联测试范围,进而得到验收测试的主流程测试场景(此部分也建议使用思维导图完成)

3. 测试方法的拓展:当对ERP业务知识了解更深入时,可以调整原有的测试方法。如,添加某个功能的权限,标准测试模型是测试授予/取消权限以及各种授权方式(岗位/角色授权)等;但是如果熟悉ERP权限配置的文件(.XML/.config)以及功能主键(如function id)等,就可以通过检查配置文件和数据库的方式来进行检查测试,而不需要切入ERP复杂的权限场景流中进行逐一的功能测试。(注意:并不是说,在验收测试中,就可以直接拿掉此功能主流程的测试,只是在功能测试中裁剪掉而已)

备注:公司用例和标准模板不太方便粘贴,请见谅。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2015-1-12 17:01:47 | 显示全部楼层
zhanghl820716 发表于 2015-1-9 13:57
我现在负责测试项目是上万人在用的企业EIP管理平台系统,目前准备替换原来的门户管理系统,目前功能需求实 ...

其实,万人用户这个测试依据其实没有太大的意义,关键条件依然是同时在线的用户数

1. 输出性能测试标准
    1.1 收集客户使用系统的业务背景资料,主要是客户是怎么用系统的。
          比如,1万用户,每分钟在线的峰值是多少?客户使用频率最高的功能是哪些,各自大约占比为多少?
          这部分资料将为你的性能测试提供重要的评估指标,也将为你在选则性能测试的功能范围提供基础的测试依据。
          理论公式(看看就行,其实它算的相当不准,最终还是要根据收集的资料,对结果数据作二次调整):每分钟在线用户数=用户总数/用户总登陆时间*单个用户操作时间
   1.2 整理服务器资源消耗较大的功能清单。如,EIP中的多层的数据清洗,以及一些复杂界面(复合报表,图形)的加载等等。
   1.3 如你们的EIP是分布式部署,则还需要在1.1&1.2的基础上,按照功能部署的服务器和数据库整理出功能分布清单。功能分布清单主要是在复杂系统中,提供可用于测试目标对象的测试重点。

2. 分析其他影响因素,着眼点在于服务器关联信息是否存在性能风险。如内网/外网不同的服务器,性能可能不同。

3. 整理测试工具,哪些可以用开源工具,哪些需要自行开发以及工具需求,最好在测试前期拟定计划并推动。

回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2015-1-12 17:52:44 | 显示全部楼层
地壳 发表于 2015-1-9 16:18
您在测试的过程中,关于碎片化有什么好的处理方法,可以分享一下吗?

你的这个问题,之前的同学已经提到了。
说实话,移动端的碎片化并没有完美的解决方案,因为完美答案是:在客户可能使用的所有环境中进行最低为验收级别的测试活动(可能除了IOS APP,其他APP基本不能做到这一点)
以Andorid为例,在Android的开放平台下,我们看上去只有1种方式来为用户手机进行分类汇总:手机型号(其实IOS也是用这个分类来进行兼容测试的,只是IOS型号较少而已)

没有办法使用标准的方式来框定测试范围,我们只能在容忍部分已知风险下,来进行更大粒度的终端分类:生厂商品牌-->系统版本(品牌版本)--->产品型号--->显示屏规格
分类原理来源于bugs严重级别评估标准中的’客户发现率‘为基础依据,整理出的测试标准和范围。


其实国内外在早2年已经识别到这个问题,目前期望于通过云来解决设备共享问题,如东软的易测云,它们虽然不能完全解决移动端目前的碎片化问题(完成整个Android碎片化测试需要几百台不同的移动终端,我个人认为目前还没有测试团队能够达到这个测试环境的要求)

备注:
假设终端数量超过了测试团队的人力资源,则可以在用户使用频率较低的终端只验证主要功能,如安装/卸载等



回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2015-1-12 18:07:18 | 显示全部楼层
wangyixiong 发表于 2015-1-10 09:14
我想问下jmeter分布式测试,响应数据为空是咋回事呢

1. 检查一下controller 和agent 的端口号是否被占用。(查看端口使用APPID可以百度)
2. 检查防火墙
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2015-1-15 16:47:28 | 显示全部楼层
心晴~~ 发表于 2015-1-14 10:19
Jackc大神,我们公司不是专门的软件公司,现在要开发一款APP,需求只是一些简单的功能点,现在老大说我这边 ...

1. 你老大这样说,其实是他对到底怎么控制质量不清楚。不过优秀tester应该具有一定的QA水平。
2. 简易需求文档一般都能支撑测试策略的实例化,如,测试范围、测试执行实例化(测试方法、测试环境、测试工具等)、测试里程碑等
3. 简易需求文档通常不能支撑测试执行的细节部分,如,核心逻辑的测试执行实例化、用户感受用例的实例化等


供参考的测试前期步骤:
1. 需求分析:
    1.1 需求分类:
          先将需求文档的各个功能划分出来(我通常是按照物理存储数据的用途来分类,如,客户信息、消息信息、配置信息等)。并在每个类型下根据
需求文档描述的内容,再向下拆分1,2个层次(粒度不需要很细,比如最小粒度为页面或者控件类型就OK了,不需要把同类控件的每个元素都列举出来)
    1.2 需求分析:
          根据1.1的目录,整理出实现效果可能存在二义性的部分(如,某类消息数据存储,既可以存在服务器上,也可以存在本地,而需求文档中未指明实现方式)
          将二义性的部分与设计或者开发人员沟通,确认实现效果。
2. 测试实例化:
    2.1 先框定需要实例化的测试类型(功能、性能、本地化等),如果某类测试需要前置条件才能实现,将前置条件作为风险写明,而此类测试作为变量安排在后期的测试生命周期里。
          测试类型的选择不难,主要还是需要你自己来度量测试的深度(通常可以和决策者以及开发人员沟通着来制定,如性能部分,只做长周期测试,不做负载测试等。你所有的沟通筹码只有2枚:成本和价值)
   2.2 根据2.1框定范围,细化非功能测试的内容。如工具化使用哪种工具,碎片化选择哪些平台等)
3. 功能测试用例设计:
    不建议使用测试用例,可以考虑使用测试要点来实现。粒度到可以清晰指导测试执行即可,如,标准文档编辑框(它可以代替文档框的字符类型、字符长度、存储等文本框的测试用例)
4.  注意事项:
     4.1 在设计出口标准时,多和决策者/设计沟通,了解客户使用场景以及尽可能理解用户的实际期望。
     4.2 此类项目需要频繁与开发人员沟通,在沟通过程中,最好能经常站在用户角度多想一下(很多时候,开发人员能做少就不愿意做多,所以在细节实现上,经常出现功能实现,但使用不便的情况)
     4.3 测试里程碑多和开发Leader沟通,根据开发进度来调整测试进度。
     4.4 如果涉及需要开发辅助的部分,如帮忙写个测试工具什么的。尽早与开发沟通,以便双方明确需求,以及方便开发安排计划。
     4.5 这类项目都建议使用Monkey Test,具体的实例化可以与开发共同完成。
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2015-1-15 16:55:59 | 显示全部楼层
huyouyou1031 发表于 2015-1-14 15:41
请问一下,手机应用APP需要做整机兼容的测试吗?
如果要做的话,市面上这么多手机品牌,岂不是成本很高?
...

其实目前做兼容测试的公司并不多。如果比较关注成本,可以在熟悉平台后,引入一些等价类策略来减低测试成本(如,OS高版本兼容低版本,屏幕分辨率比例占比高低 等。)
备注:
这类的等价类策略都会存在一些风险,比如android 4.0 测试通过,实际上并不能完全保证2.3就没有问题,关键还是要看APP在实际开发过程中是否使用调用了4.0新增的API和方法。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2015-1-17 09:14:10 | 显示全部楼层
心晴~~ 发表于 2015-1-15 21:00
每次jackc大神的回复都很详细,很感谢!读了几遍后,感觉我现阶段只实现了功能点的细分后,就开始手 ...

‘性能部分,是要测试接口处理请求的响应时间长短吗?’
手持终端上比较常用的(性价比较高)性能测试包括:
   * 长周期(LPT):持续运行APP(monkey 可以实现)
    *功耗(PCT):包括电量、内存、流量等(大部分都有现成API或规模化工具,简单开发后可实现。(也可以通过其他方式来间接实现,如反复运行/关闭APP,查看是否存在内存泄露等)
    *响应时间(RTT):程序应用在某个功能上的处理时间,具体测试方法也是五花八门。
                             1. 最常规的方式是直接在写测试桩,这样基本能得到所有期望的信息。如,你提到的APP与服务器会话的功能,只需要3类测试桩打印出时间logs就可以辅助你定位问题根源:APP上层指令触发会话的事件的时间、APP每次收/发会话消息的时间。如果对协议格式内容有一定了解,也可以将会话内容logs出来,分析head或者body是否存在冗余。
                             2. 先负载,再做RTT。主要用于存在性能风险的APP功能,如列表页面加载。这类测试在不使用测试桩的方法下,可以使用录像回放的方式来实现。(超过1S的APP响应事件其实都可以用纯黑盒实现)
                            3. 参照物比对。通常在没有性能标准的情况下,可以选择一些业内知名或者成熟的相似APP作为参照物,在相同环境下比对二者之间的差距。
                            (备注:3.1 参照物比对的方式,需要尽量保证2者环境的一致性;因无法做到完全一致,故会容忍一定比例的差异数据以及需要采集多次测试数据
                                         3.2 参照物比对的方式,测试人员需尽量站在用户角度作测试结果判断。如两个APP实现的功能基本一致,但是选择的协议不同,导致测试结果出现差异,也属于bugs,需决策者审核后,才能进入不修复流程,而非开发人员可直接进行非bugs判定。)
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2015-1-17 10:32:54 | 显示全部楼层
pilottest 发表于 2015-1-15 16:45
请问一下,我是测试电力产品的,如电力仪表及电力系统类的,测试电力仪表产品居多,我们公司居多是手工测试 ...

电力仪表我没接触过,具体测试方法的建议就不说了,我简单聊一下问题解决方法,希望能对你有所帮助。
其实大部分问题的分析模型和测试分析需求的模型是一致的:目的(Why:为什么要做)-->方法(How:怎么做)--->评估(check:能做什么,不能做什么)-->执行(Do:着手执行,具体执行效果的评估模型可参考PDCA)
所以,得到以下几点

1. 职业规划
    自己期望怎么发展?做测试开发,工具测试,测试控制,亦或是产品设计或创业?
    建议你先百度一下测试可发展的职位,然后了解一些终极职位所需要的技能。
    备注:黑盒手工测试技能并不是终极职位所需的关键技能,相信你是有所体会才会产生迷茫。但黑盒手工测试是其他技能的基石,如它的分析模型可用于所有的测试类型;与它紧密相关的测试策略可用于产品质量出口标准的优化。。。就如游戏的技能树一样,黑盒测试就如‘剑’的熟练度(简单易懂但伤害较低),而其他技能就如杀伤力强大的‘剑技’,你期望拥有强大的剑技,就先得学习更高的熟练度。

2. 公司还能提供什么
    公司的基本要求你只要能做职能内的实事,其他就没有要求了。所以它也不会强推你向前走,也就是说,个人发展还是靠自己。
    但是公司其实可以为你提供很多隐性的学习机会,这部分需要你自己去分析。如,产品销售牌照的发放标准及可操作空间(与产品质量出口标准的优化相关)、研发团队可实现的功能范围(与bugs定义以及工具化相关,竞争对手产品质量情况(与性能标准及产品需求相关)。

3. 学什么
    每一项测试技能的学习都需要时间成本。而一个人不可能把所有技能都精通,所以需要你有取舍的学习。
    可参考的学习优先级较高的类型有:
    3.1 获取方便,时间成本低的内容:不管你的职业规划着重哪个方面,测试域广度的了解是目前国内的基本要求之一。考虑到在不同的环境下,学习成本不同,故以长远来看,最短的时间内学习到足够多的技能可以让你面对更多的职场危机
    3.2 与未来5年或者10年测试域发展趋势紧密结合的内容:首先,你要认识到自己是弱势群体(爱因斯坦类的不在此类),改变不了社会,就要适应社会。然而你可以不需要适应现在的社会,但是你必须适应未来的社会(普通人很难一开始就已经适应社会)。在未来,测试黑盒人员将被边缘化(也就是不具备竞争力),测试技术类人员都将转型为开发人员,作为开发人员的辅助支撑角色而存在。简单来说,如果你的code不行,可以着手学一门语言先,不需要精通,但是需要达到熟练。
    3.2 与你的职业规划耦合度较高的内容:这部分只要你完成1中的职位树后自然能知晓。

4. 其他
    4.1 关于公司的选择
          在国内,公司的选择与个人的能力同等重要。不建议轻易跳槽,但期望在一家无前途的公司终老也不太符合实际。如何判定如何选择公司或者跳槽,其实很简单,找一张白纸,将你能想到利弊以及问题的解决方案写一次,然后你应该就能知道结果了(自己分析不清楚的,可以找朋友一起分析)。
   4.2 关于学习时间
        优先选择公司给钱,自己又有技能提升的方式。很多时候并不是公司没有为你提供学习机会,而是你无法拿出双赢的学习方案(公司和个人均获利)
        普通的学习方式就是自己空闲时学习,这部分学习时需要注意:只学习优先级较高的内容,锦上添花的学习内容最好不安排
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2015-1-22 09:58:08 | 显示全部楼层
xiaolijust5 发表于 2015-1-20 15:03
你好!
我们公司现在做的是全部是ERP系统(B/s、手机端都做)
A.手机端主要做的是接口,通过webservice  ...


1、如果我要通过接口来测试APP的性能,需要关注哪些参数情况?
     接口消息的测试一般关注3个部分:
     1. 消息本体:包含2大类测试点:消息格式、消息校验。这两类一般都可以从设计文档直接获取。消息格式的测试方法可以参考text控件;校验的测试则建议考虑场景流。
     2. 消息存储后对ERP功能的影响:这类其实和普通的功能关联测试没有区别,无非是基础数据源如何在ERP中使用。
     3. Mobile特殊用例组:这部分需要分析开发的接口在手持终端上的使用范围。通常,如只是调用TCP/UDP等做一些数据信息的传递,则需要参考PCT的方法进行数据流量的用例设计;如调用GSM(如SMS),则需要考虑消息丢失、反复推送等。简而言之,需要根据手持终端的调用范围进行额外的测试分析。

2、这种接口的测试,你是通过什么工具来做的?
     1 这类的接口测试工具化比较简单(普通开发人员1~2D就能完成)。我们通常是做一个简单的小工具调用webservice,然后将消息格式、网页/数据库地址、脚本路径等需要手工配置的部分预留为工具的UI接口,测试人员在完成测试元素分析后,将消息场景信息录入到工具里就可以完成接口测试了。但ERP系统关联部分大多还是依靠黑盒手工来支撑。
     2 即使不使用工具化,也可以通过在调用webservice的函数、发送/接收函数打上测试桩,将消息参数保存到本地进行手工检查。
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2015-1-22 11:08:26 | 显示全部楼层
//w// 发表于 2015-1-21 11:00
AP底座不知道怎么测试,请指点迷津AP底座测试方法,越详细越好。多谢。。。。。。

首先,没有测试人员能熟悉所有的测试对象。所以,我们需要做到:熟悉甚至精通1~2种测试对象。在面对陌生测试对象时,以自己熟知的测试对象进行对比,将两者相同/类似的属性作等价处理,然后将测试分析重心放在测试对象独特的新功能上。通过这种方式可以缩减测试分析的工作量,并将最多的测试资源投入到风险最大的点上。

如何解析AP底座的测试方法
1. AP底座的构成
    AP底座由哪些部件构成?可以使用由外至内,由硬件到软件的方式来进行初步的解剖
    由外至内:外观(外壳、LED、外部接口触点..)-->电路板-->芯片(可选)
    由硬件到软件:芯片-->电路板-->驱动-->接口-->协议-->APP

2. 可测试性分析
    对测试对象的产品测试,并不是要求测试人员对它的零件都进行测试。
    基本准则为2条:1. 是否具有测试意义
                            2. 是否有条件进行测试
    不满足以上2条的测试对象属性,可直接从后续的测试分析中移除。如,目前很少公司都不具备驱动测试的条件,则测试人员可在前期与决策者讨论此部分的测试裁剪(其实在黑盒上可以间接对驱动进行测试,只是黑盒中的测试,不满足‘问题需尽早发现’的测试原则而已)

3. 测试对象间的等价
    假设我们现在已经熟悉手持终端的测试,则我们来简单看一下‘协议‘属性的分析
    在手持终端,外部硬件连接通常只有USB一种(圆孔充电器不考虑,因为它主要依靠终端自身驱动来为APP提供必要的消息支持),而APP接口方式则主要以wifi、蓝牙、红外为主流。
    AP底座的连接方式基本与手持终端相同,但是在协议中,底座的协议颗粒度更小,属于广义协议中的一种子协议(如中国移动的WLANAC-AP接口互通规范)。
    分析结果:底座协议的测试方法可复用手持终端的,但测试范围及测试用例需根据支持的AP协议重新设计。
                  

回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2015-1-23 17:44:31 | 显示全部楼层
Foreever 发表于 2015-1-21 14:50
你好,今年就要毕业,公司要求做一个关于京东购物车相关功能的测试,只针对购物车相关测试,考虑对上下游流 ...

以你的作业作为需求来分析,首先需要对测试范围进行裁剪。

1. 分析测试对象的构造
    京东的购物车属于B/S架构,那么它就包括Web和数据库的测试。如果你无法获取数据库环境,则可以认为数据结构不在测试范围内。
    在这种情况下,可以单只分析web。
2. 功能分析
    建议以切蛋糕的方式来对功能进行分类(先切大块的,有明显分界的块(如方形蛋糕的对角线、中线);再来切复杂的,不容易分割的块(如蛋糕中间有朵小花)):
    2.1. 核心功能
           也就是经常说的主功能,基础功能。购物车主要是拿来做什么的? 装订单!
           故可以得到订单/商品展示是购物车的核心功能。
           接着可以分析购物车核心功能的实现方式,如小窗口列表展示,页面详细信息展示等。再逐个分析每类展示方式的具体属性,并生成对应的测试点或用例组。
           此部分分析结果将作为优先级最高的测试点或用例存在。(用例级别对应测试类型不在此说明,可以参考普通的用例书籍或文档都有说明)

   2.2. 复杂核心功能
           核心功能中可能存在复杂的功能或逻辑。建议将此部分进行独立分析。如购物车中的订单总价计算,可能包含单价汇总、折扣、减免、付款方式等多种计算公式,故需要仔细将每种计算公式分析清楚,并设计独立的复合计算公式用例组。

  2.3 关联功能
          被测功能可能被其他功能调用,也可能去调用其他功能。简单来说,就是分析被测功能的I/O接口以及接口对应到系统页面的位置和方法。
          分析过程中,先将调用/被调用分类,再按设计文档或系统逐一列举即可。(购物车在此处分析量较大,务必仔细)

  2.4 在所有分析过程中,在每个分类中,还可以按照UI,功能,计算公式等测试单元实体类型再进行分类,并提炼出公共的测试方法和测试点,可以降低类似测试实体分析的消耗。  
说明: 根据测试目标的特性,通常会存在一些测试分析盲点(设计文档未提到,就很容易被测试分析遗漏的部分),需要特别注意。目前只能通过对测试目标的熟悉度(业务熟练度)来弥补。所以遇到测试分析遗漏,最好能作一些文字性的个人经验总结。(如,购物车的消息提醒功能)

备注:
我在分析页面过程中,通常会固定存在以下4种分类:
1. 初始化:页面的初始化信息
2. 指标:页面的元素信息
3. 功能:页面提供的功能以及逻辑信息
4. 特殊维度:页面存在复杂功能逻辑时的环境因素信息
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2015-1-23 17:52:14 | 显示全部楼层
lio_m 发表于 2015-1-21 15:33
不知道有没有录制脚本、回放脚本,试用IOS设备的自动化测试工具??很是需要!!!

Instruments 可以满足你的需求。
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2015-1-26 13:40:35 | 显示全部楼层
cloudazure 发表于 2015-1-23 15:54
Jackc老师,你好,本人在银行业务做功能测试有4年之久,一直以来担任都是纯手工偏向业务的测试工程师角色。 ...

1、微网站的兼容性测试是否有必要,目前我没有找到好的解决办法来测试微网站的兼容性?2
     web兼容性目前主流是是在使用2种策略,但基本原理都是:最少的测试资源满足最大量的用户群
     1.1 根据用户实际使用的浏览器进行测试,甚至一些强势的产品生产商会限制用户使用浏览器的品牌和版本
     1.2 根据浏览器内核和排行,选择部分浏览器版本进行测试。每个内核选1~2种浏览器,每个浏览器选择1~2个版本。如果测试资源仍然不够,甚至会根据排行只选择1~2个主流内核的单个浏览器进行测试。

2、手机端的功能测试案例是否可以比较PC端的功能测试案例来编写?

     可以。在黑盒测试中,针对同一个功能,手机和PC的区别并不大。只是需要注意手机本身的特征用例加入到PC用例中,如中断、后台运行等。(手机特征用例是可以复用的,所以建议定期进行总结并提炼为手机的公共用例组)
     备注:注意有时候手持终端对功能有一些特殊需求,如图片下载,在PC端可能是直接下载,而在手机端则是先下载缩略图,然后再通过手动操作下载原图。

3、在性能方面,由于是在微信中植入网页,是否可以忽略不作为测试范围?
     性能测试还是需要的。响应时间需要在PC和手持终端考虑,而功耗、流量等性能指标需要在手持终端考虑。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-6-5 19:50 , Processed in 0.087725 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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