勇于突破,突破不止!

发布新日志

  • 探索性测试摘录

    2016-04-04 21:57:04

    探索性测试摘录

    1、  探索性测试(Exploratory TestingET)是一种自由的软件测试风格,强调测试人员同时开展测试学习、测试设计、测试执行和测试结果评估等活动,以持续优化测试工作,具备即兴发挥、快速实验、动态调整等特征。

     

    2、  探索性概念是测试专家Cem Kaner博士在1983年提出的,受到了语境驱动测试学派的支持。

     

    3、实际实践操作特点

    1)有策略地确定风险、加强沟通(向测试负责人了解哪些模块被发现的BUGS最多、哪些少、从而确定哪些模块为风险区域投入的时间较多);

    2)关注细节,多使用极限测试法(重点关注异常流程测试、多采用极限测试字段,如:超长字符、非法字符、异步编辑);

    3)百分百投入测试(采用时间盒90-120分钟,集中精神进行全身心测试);

    4)分析并给出反馈(测试完成后,报告测程具体情况,收集并分析所有测程执行情况、判断产品质量与测试进度是否合理可控);

    5)  记录所有问题(疑问、用户体验相关的问题)

     

    4、探索性测试可以应用于任何测试阶段;

     

    5、探索性测试实践流程:

    分析PRD(产品需求规格说明书)和原型确定主要功能点确定产品风险探索性测试计划探索性测试汇报与交流分析和总结;

    详细说明:

    1)  投入1-2个小时查看PRD和原型,用于了解产品目的和背景;

    2)  投入1-2个小时确定有哪些主要功能模块和贡献性的功能模块;

    3)  与项目组测试人员沟通,了解哪些功能模块发现的缺陷较多,哪些功能模块发现的缺陷较少,哪些模块存在的风险较大;

    4)  根据前几步情况和可用测试时间,指定探索性测试计划,计划内容包括测程数、每个测程的任务、每个测程 用时等;

    5)  根据探索性测试计划,测试人员边学习产品需求边测试,发现问题立即记录,每天发送缺陷缺陷报告;

    6)  测试执行的时候,可以使用Session Tester来管理测试时间和测程进度,还可以通过测试笔记来记录测试时的新思路和新发现;

    7)  与项目组测试人员沟通测试进展及该产品存在的风险,同时跟踪确认缺陷的修复情况;

    8)  在自由式探索即将结束时,分析产品质量和风险,总结测试经验与教训,将分析与总结的成果在测试团队中分享。

     

    6、探索性测试实践注意点:

    1)需求规格熟悉时间不宜过长(周期为2-3个月的项目,投入1-2个小时即可);

    2)测试被阻碍,立即寻求帮助;

    3)记录所有疑似缺陷,尤其是与用户体验相关的;

    4)利用优势资源,尤其是数据准备和复杂流程;

     

    7、协作型探索式测试:探索性测试是个集学习、趣味、探索、投入为一体的思维过程。由于每个人都有自己的盲点,会遗漏一些重要的策略、风险和方法,所以需要借鉴大家的测试经验和灵感,这也是协作型探索式测试的来源和目的。实践方式包括:缺陷打扫除、结对测试、全民分享。

     

    8、缺陷大扫除:是一项短期的全员测试活动,程序员、测试员、程序经理、用户代表、市场人员在1-3天的时间窗口中,运用各自的技能和职业背景,集中精力来搜寻软件的缺陷,发现缺陷数目最多的冠军获得一份奖品;缺陷大扫除还有2个方面的价值,第一团队建设(平时测试人员更多时候是独立测试工作,彼此之间联系和交叉较少,大扫除共聚一室,进行渗透式交流,甚至说一些无关的笑话逗乐等,这些小事都在潜移默化中逐步凝聚一个团队),第二团队学习(团队举行缺陷分享会议,总结缺陷模式,完善测试策略,补充测试检查列表,这是一种积极的集体学习行为,在这个过程中,测试人员可以积累经验、分享技能、测试团队可以沉淀知识、凝聚士气)

     

    9、结对测试:测试团队也可以将测试人员组成一队,让他们在同一台计算机上进行测试。结对测试让2个测试人员坐在一起,使用一台计算机共同测试软件,多人协同测试叫结队测试,在结对测试过程中,一个测试人员实际测试产品,另外一个测试人员提出测试建议、留意产品表现、记录笔记和缺陷、查阅参考材料等,在测试期间,他们经常交换职责,并通过询问问题,解释策略,聆听解释来交换意见并相互启发。测试过程中,测试执行者需要向伙伴解释他的测试想法并回答同伴对产品或测试想法的疑问,该过程能够自然地理清测试思路,并产生更多的测试想法。

     

    10、全民分享:在整个研发团队中,每个人都可以从其他人那里学习到新的知识,每个人都可以分享自己了解的知识,在项目的任何阶段,不仅仅是测试人员,同时包括项目经理和产品经理,都可以分享对于需求的看法、对设计的建议,对测试的提示等,这种全元分享的活动就叫做全民分享活动,是一种可以全面提高团队能力的活动。

     

    持续阅读、交流、实践、反思、分享来提升测试技能、优化测试价值!

  • 自我介绍

    2016-04-01 12:24:02

    大家好,我叫XXX,半个月前经XM大学附属第一医院严格测试后,体检报告:从出生至今已经稳定持续运行了30几个年头;未发现明显异常;经内外科全面测试后结论为三健即“身体健康、心理健康、外表健康”;能够与一切正常人进行友好沟通和交流,善于测试团队建设及管理。本人喜欢抓虫(bug,与虫(bug)为敌多年,目前拥有多年公安业务系统、银行系统测试经验,热爱测试工作,擅长系统测试、探索式测试、性能测试、自动化测试,在测试设计和过程管理有较丰富的经验和见解。在工作之余,喜欢跑步、打羽毛球、打网球。

  • 人之将离,其言也善!

    2016-03-31 22:15:01

        人之将离,其言也善!记录即将离开GD公司的聚餐会上想对每个可爱的你们的一番话记录:
    第一、首先感谢何M和潘M大中午还这么晚的来与我们一起聚餐午饭为我们送行,对你们的到来感到无比的开心,感谢你们还记得我们这些老朋友,感谢你们对我们的牵挂和认可!人最重要的是存在价值感,不管是团队价值还是个人价值也好,只要有存在着一丢丢的被认可、被牵挂、被依赖、被想念,那是一件非常美好的事情,所以对你们的到来,表示无比的开心。希望以后我们还是可以经常一起聚聚、聊聊工作、聊聊人生的哦!
    第二、感谢洪Z,这么久来一直以来对大家的关照!同时也祝福你赶紧生个男丁好解决你的大事!哈哈!
    第三、感谢潘MM在职的时候,帮助我分担很多工作任务,得以我有充裕的时间去追寻我的人生目标(对象、结婚、生子、照顾家庭等),对于你对我工作上的分担表示衷心的感谢!但是当你在职GD的时候没能帮你找到你心仪的对象表示遗憾,关于这点我会在新公司的时候会帮你特别留意,一旦有合适的对象马上通知你哦,但是能不能成,这个就要看你们的缘分啦!同时也希望你的缘分赶紧到来!尽可能快的听到你要结婚的好消息哈!
    第四、感谢潘Z一起在GY出差呆过的日子,想想一起在GY的生活是那么多,比如一起做饭,一起去吃10元火锅、一起去旅游、一起去购物、感谢一起走过!这些以后都会成为我们回忆!
    第五、感谢通T在于这次换工作新公司方回访个人情况方面的帮忙,也感谢你一起在GY一起出差工作的日子并且一起走过那些寒冷的夜、不忘一起打牌到凌晨还只是为了你要赢我一元、我要赢你一元的赌资不服输的的场景,最后的结果是打牌到凌晨3点,也只是我总共才赢你一元的结果;从你看书学习知识的干劲的身上我看到了你对知识的渴望,对未来工作和生活的打拼整个奋斗过程,看到一个来自农村小伙对城市生活的渴望与憧憬。希望你未来的路会因为你的认真和踏实态度更走得更宽更远。
    第六、感谢Z弟,感谢一起去GY出差,一起呆过最长周期的出差时光,感谢你与我们学习和探讨不管是感情、爱情、还是生活上的各种幼稚和无知、从一起交流中我们同时也在回顾以前走过的路,一样也存在着不足,同时也让我感悟很深,有些事情我们之前做出来的也并不都那么的完美,只是慢慢的一直都有在做调整和改变,才得以有现在你羡慕的感情、爱情和生活状态,相信你自己通过我们之前的交流能有所感悟,对你未来的生活、感情、爱情有所帮助,至于在交流过程中有些话为了要激励你,而说出了一些比较重的,比较不好听话,希望你不要介意,我们也都是为了你好,因为你的生活经历确实不够丰富,可能跟你的家庭原因以及你的个人只身原因有关,包括性格等,希望以后你能做出改变,让大家看出你是有在努力,同时也得到有一定的帮助,那时候我们都会为你的成功而感到高兴的!
    第七、最后也要好好感谢自己这次跳槽成功,感谢这段时间自己的坚持、努力和付出,感谢老婆的支持和理解,感谢儿子的天真可爱,给我生活带来了无限的欢乐,虽然有时候老爸压力大会发点小脾气,希望你不要介意,关于压力这方面我会在以后生活生自己去排解,通过这段时间的看书,觉得自己知识还是严重缺乏,无论从工作上还是思想上还是不够**和稳重,思路还是不够宽、看事情的眼光还是放得不够远,希望在以后的日子可以通过书籍快速弥补回来!快速成为一个被羡慕、被尊重、被崇拜的优秀的人!

    最后还要感谢GD这么多年对我们的栽培和容纳、我们每个人都要有一颗感恩的心,虽然目前GD对我们还有一些的遗憾,但是总体上好的方面还是大于不好的方面,所以我们还是一样要好好感谢GD,衷心的祝福Gd越办越好,越走越好!希望在未来的不久,可以听到GD上市等等的好消息哦!

                            --突破totop   录于2016-3-31


  • 新环境工作规划

    2016-03-30 01:14:10

    下个月就要到新的单位新的工作环境新的测试团队去工作了,把自己的接下去的工作规划进行总结整理,发出来给大家一起共享!欢迎进行指点和建议哦!--突破totop!
  • 存在价值

    2016-03-27 23:19:14

    被别人的认可、需要、依赖、牵挂,是一种价值的体现!!!
  • 评审目的

    2016-03-27 22:48:07

    评审目的:
    1、通过评审,大家对系统需求可以进一步的熟悉和学习;
    2、通过评审,可以发现测试过程中遗留的点,对于提高设计的覆盖率起到很好的作用;
    3、通过评审,使开发人员和测试人员对需求的认知达到统一;
    4、通过评审,有利于开发和测试人员的思路交换;开发人员可以了解测试设计人员如何设计用例去测试他们的代码;同时测试人员也可以了解开发人员的设计思路和实现方式以便后续更好的针对性的设计;
    5、通过评审,使测试人员可以更快的发现自己的设计不足和盲点;
    6、通过评审,可以进一步的提高软件的质量;
    7、通过评审,可以让测试设计更透明化、更公开化,避免了闭门造车的情况;
    8、通过评审,动用大家的测试思路来扩展和补充设用例测试设计者的思路;

  • 评审过程

    2016-03-27 22:39:27

    评审过程:
    1、测试经理主持开场白,对系统的主要功能、评审的背景、评审的目的进行描述;
    2、模块用例设计人员进行讲解(按从优先级高的功能点--中优先级-低优先级的顺序进行开展,主要对功能点进行大概的描述,然后详细描述当初设计时的思路和方法);
    3、参与评审的人对设计思路进行头脑风暴,采用问答形式,如果设计人员回答不上,或者还不知道的说明其对该地方还没有完全熟透和理解,需要重新补充和设计思考;
    4、评审过程中,评审记录人员需要详细记录评审过程,对评审过程中提出的疑问点进行整理,会后整理好采用邮件全体参与人员邮件反馈;
    5、模块设计人员根据评审过程中的未涉及的地方以及未考虑到位的地方进行补充和完善,然后准备二轮评审。
    6、评审过程要求,每个参与评审的人至少要发现并提出〉=2个问题;

  • 漫游地图模型学习

    2016-03-26 23:00:02

       漫游地图模型的基本思路:测试人员使用漫游的手法测试产品,就像一个旅游者在某个城市进行探索性的旅游,模型图如下:


        测试设计人员需要详细的了解被测试系统需求说明书,详细设计等,将系统所有功能需求划分为六个区,如图所描述的区域,然后确定所有需要测试的特性和功能,然后再使用测试模型进行探索性设计和测试执行,能够帮助测试人员更好的制定测试计划,测试范围,和测试策略。 
        漫游地图不能完全凭个人经验去描绘,要参考产品的业务、用户场景、需求文档、设计文档等信息。重点不是制作完成了地图,而是制作过程中深入的学习和理解了产品的架构和设计过程,从而更好的对系统进行针对性测试,提高的覆盖率和测试质量。
  • 32位和64位操作系统及软件的区别

    2016-03-25 15:19:41

    下面,我用最简洁的文字尽可能作最详尽的回答:两者之间存在的五大不同与此同时,着重说明Microsoft Windows64位(x64)操作系统,相对于32位(x86)操作系统的最大优势和劣势是什么?

    第一,设计初衷不同64位操作系统的设计初衷是:满足机械设计和分析、三维动画、视频编辑和创作以及科学计算和高性能计算应用程序等领域中需要大量内存和浮点性能的客户需求。换句简明的话说就是:它们是高科技人员使用本行业特殊软件的运行平台。而32位操作系统是为普通用户设计的。

    第二,要求配置不同64位操作系统只能安装在64位电脑上(CPU必须是64位的)。同时需要安装64位常用软件以发挥64位(x64)的最佳性能。32位操作系统则可以安装在32(32CPU)64(64CPU)电脑上。当然,32位操作系统安装在64位电脑上,其硬件恰似大马拉小车64位效能就会大打折扣。

    第三,运算速度不同64CPU GPRs(General-Purpose Registers,通用寄存器)数据宽度为6464位指令集可以运行64位数据指令,也就是说处理器一次可提取64位数据(只要两个指令,一次提取8个字节的数据),比32(需要四个指令,一次提取4个字节的数据)提高了一倍,理论上性能会相应提升1

    第四,寻址能力不同。64位处理器的优势还体现在系统对内存的控制上。由于地址使用的是特殊的整数,因此一个ALU(算术逻辑运算器)和寄存器可以处理更大的整数,也就是更大的地址。比如,Windows Vista x64 Edition支持多达128 GB的内存和多达16 TB的虚拟内存,而32CPU和操作系统最大只可支持4G内存。

    第五,软件普及不同。目前,64位常用软件比32位常用软件,要少得多的多。道理很简单:使用64位操作系统的用户相对较少。因此,软件开发商必须考虑投入产出比,将有限资金投入到更多使用群体的软件之中。这也是为什么64位软件价格相对昂贵的重要原因(将成本摊入较少的发售之中) 总而言之,Microsoft Windows 64位操作系统,必须64位主机硬件的支撑,64位常用软件的协助,才能将64位的优势发挥到极致三位一体缺一不可(道理很简单:操作系统只是承上启下的运行平台)至于64位电脑可以安装32位操作系统,64位操作系统可以安装32位软件,那是设计上的向下兼容,不是64位设计初衷的本来含义(如上所述) 164位电脑虽然可以安装32位操作系统,但是32位电脑绝对不能安装64位操作系统。这点至关重要务必牢记,以避免盲目下载和安装。 2、在64位电脑运行的32位操作系统上,不能采取硬盘安装方式安装64位操作系统。如若安装,首选光盘格式化安装方式,也可采用比较繁琐的DOS安装方式。 3、使用虚拟机安装操作系统,实际上就是在目前运行的操作系统上安装软件。因此,在32位操作系统上不能虚拟安装64位操作系统。即便采取曲线方式勉强安装,其实已经脱离了底层设备的支持,

    64位版本可以处理的物理内存(RAM)在4 GB以上,高达128GB,而32位版本最多可以处理4 GB的内存。因此,如果你在计算机上安装32位版本的Windows,那么安装4 GB以上的RAM是没意义的。

    32位和64位Windows的区别与选择,那一版本更好的发挥你机器的性能,你了解过了么?

      计算机处理器在RAM(随机存取储存器)处理信息的效率,取决于32位和64位版本Windows。64位版本比32位的可以处理更多的内存和应用程序

      让我们简单的方式来理解吧。64位版本可以处理的物理内存(RAM)在4 GB以上,高达128GB(没错,可以的),而32位版本最多可以处理4 GB的内存。因此,如果你在计算机上安装32位版本的Windows,那么安装4 GB以上的RAM是没意义的。

      由于处理内存的能力大,64位版本的系统可以更有效地使用处理器处理数据。因此,这增加了电脑的整体性能。概括地说64位是功能更强大的。现在来看看一些有关这两种技术的东西。

    如何检查Vista和Windows 7的Windows版本

      要检查当前的版本,按下”开始“按钮。用鼠标右击“电脑”并选择“属性”。


      在“系统”项的“系统类型”可以看到。下面给出的截图显示,我的计算机是32位操作系统。


    如何检查你的计算机是否可以运行64位的Windows

      要检查计算机是否有64位的处理器,请执行以下步骤。

      点击“开始”按钮。在搜索框输入“性能信息和工具”(Performance information and tool)。点击列出的结果。


    点击“查看或打印”


      这时会看到你的计算机的所有资料。在“系统”栏,你可以看到当前正在运行的版本,是否可以运行64位(图片显示的是可以)。

    注意: 如果你现在使用的是32位版本的Windows,你想安装64位版本操作系统,那么安装64位之前请务必备份你的Windows文件。

    64位计算机的优点

      64位版本Windows的主要优点是,它可以更好的访问和管理内存

    加强安全性能,如内核补丁保护,支持硬件数据执行保护,强制驱动程序签名,取消了32位驱动程序和16位子系统的支持

      对那些专门为64位操作系统编写的程序的性能十分优越。

    使用64位计算机的缺点

      使用此版本不会有什么缺点,但是也有一些事情你必须考虑在你决定使用之前。

      应该检查的设备驱动程序的可用性,因为32位设备驱动程序64位版本下不能使用

      大多数的硬件设备兼容64位计算机。

      设备驱动程序必须有开发商的数字签名

      某些程序的32位与64位不兼容。

    怎么选择正确版本的Windows

    64位版本

     选择正确的Windows版本取决于你的考虑和需要。如果你想使用大内存(超过4 GB),那么你可以去64位版本。但在你转向64位之前,请检查你日常使用的各种软件和工具,是否有64位版本的。

      大多数新软件和硬件都支持64位版本。检查你的软件和设备的兼容性。

    32位版本

      32位版本的价格低于64位版本。

      如果你喜欢使用的是旧的软件和硬件,那么你你尽可以使用32位版本,因为它可以支持所有的程序和设备。

    注意:没有软件设计得可以同时支持32位和64位(除了一些杀毒程序)。不过,如果一个程序有64位版本,一般也都有32位版本的

    揭开64 Windows 的神秘面纱

    如果打算购买一台新电脑,那么您需要考虑的事项可能太多,而根本无暇顾及是应该购买一台带 32 位、还是 64 版本 Windows7 的电脑。

    不必担心。 对于大多数人来说,购买下一台电脑时,几乎没有理由去考虑这一选择。 这样非常好,因为许多人根本不了解运行 32 位或 64 位版本 Windows 的电脑之间有何区别,并且在大多数情况下,他们选择哪个版本并没有太大的不同。

    有些高级用户喜欢选择 64 位版本的 Windows。 这并没有什么神秘可言。 使用 64 位版本 Windows 的电脑可利用更多内存(4 GB(千兆字节)或更多),而使用 32 位版本 Windows 的电脑只能利用 3.5 GB 或更少的内存。 (即使某台电脑已安装 4 GB或更多内存,但 32 位版本的 Windows 仍然仅占用其中的 3.5 GB 内存。)

    内存越多,可以同时打开的文件和程序越多,而且不会降低电脑的运行速度。 但是,除非您确实同时打开许多文件和程序,否则拥有 3.5 GB 以上的内存通常没有太大意义(我们稍后将详细讲述这一点)。

    通过检查控制面板中的系统,可了解电脑运行 32 位还是 64 位版本的 Windows

    真实的区别与说明书中的区别

    由于近几年电脑大幅度降价,因此许多新电脑本身就带 4 GB 内存,甚至经济型机型也是如此。 许多制造商都已默认开始在电脑中安装 64 位版本的 Windows,以确保购买者能够使用已付费的所有内存。 有些制造商甚至还将所有新电脑都安装 64 位版本的Windows,即使难以解释电脑使用 4 GB 内存与 3.5 GB 内存有什么区别也是如此。

    在日常的实际使用过程中,大多数人可能并没有注意到使用 3 GB 内存的电脑和使用 6 GB 内存的电脑之间有何区别。 那么,谁有可能会注意到这种区别呢? 对了,如果您听说过有人在播放视频时,同时打开大量电子邮件、许多程序以及一些其他项目,那么您可能会对这种区别有所感悟。

    如果您想要立即同时运行每个程序,并且很少关闭任何程序,那么拥有 4 GB 以上的内存会使您的电脑响应速度更快。

    电脑游戏超级玩家也可能会对运行 64 位版本 Windows 的电脑感兴趣。 游戏是您可能在任何电脑中运行的、消耗硬件资源最多的程序之一,游戏中含有内容丰富的图形、声音和交互功能

  • 场景测试模型的学习

    2016-03-25 01:20:13

    场景测试的概念:测试人员设计真实用户操作软件时的场景,并按照此场景进行测试。
    场景测试一般包含多个测试用例,描述用户使用功能特性时的条件、步骤、结果。
    在测试设计阶段,测试人员需要编写多个特性交互的测试场景(基础场景),接着进行场景测试,场景测试执行的时候需要对场景的步骤和前提条件加入一些(新增、删除、修改、重复操作数据等)从而发现更多有价值的缺陷。
    场景操作模型总共有多种测试方法,总结如下图所示:


    大家可以根据场景操作模型进行完善和补充,生成更丰富的场景测试模型。




  • 漫游探索模型之学习

    2016-03-25 01:07:38

    学习了漫游探索模型并简要总结,分享出来一起学习之。
    模型概念:查看基础场景,找到需要测试人员做决定的关键步骤,或者找到可能产生逻辑分支的步骤,先朝不同的方向走,然后回到场景的主要路径上来,这种测试思路就属于漫游探索模型范畴。
    漫游测试的方法包含几十种,这里就先总结介绍7种,整理后的漫游探索模型如下图所示,仅供参考,大家可以继续进行发挥和补充:

    一旦测试人员熟悉并掌握了模型中的7种测试方法,就可以在需求细节未明确的情况进行更有效的探索式测试,从而弥补了前期在需求和评审中的不足,从而最大限度的保证需求的正确性和完整性。
                                                                           --突破totop!

  • 启发式测试策略模型

    2016-03-23 23:24:18

    今天学习了探索式测试设计里的一个测试模型策略觉得很不错,自己总结了下发出来与大家一起分享,大家可以在这个启发式测试策略的基础上根据自己的实际工作环境和语境下进行扩展、补充和改善,以达到帮助我们平时工作的目的,下面就来介绍这种模型的方法和理念,启发式测试策略模型(Heuristic Test Strategy Modle,简称HTSM)是James Bach提出的。

    HTSM其实就是一个结构化的、可定制的参考模型,它由一组层次化的指导词组成,从测试技术、项目环境、产品元素、质量标准等四个维度来进行启发测试设计的,我们在实际测试的整个周期中HTSM能够全程提供指导和提示,可以帮助测试人员组织测试思路、深入研究和探索产品、最终开发出具有针对性的测试策略,还可以帮助测试人员确定测试范围制定相应的测试方案。

    我把整个测试模型采用思维导图整理完后如下图所示:

    在实际测试过程中,我们可以根据这个思维导图上的每个HTSM模型元素进行标记、注释、和链接,以启发测试思路、丰富测试策略。

    希望我的总结能帮助更多的人在以后测试工作中起到一点点的帮助!

                                         --突破totop!

  • tomcat应用系统部署

    2016-03-23 16:20:41

    最近指导新人进行部署系统,顺便总结一下系统部署过程,只供参考!需要的可以参考!过程:指导新人从旧的系统导出一份完整的数据库,然后再新建个数据库,部署全新的系统!

    ps:由于附件的内容比较大,限制上传大小了,所以只能放到博客园,下面是下载链接地址! 

                            -----突破totop!

    http://files.cnblogs.com/files/totop/tomcat%E5%BA%94%E7%94%A8%E7%B3%BB%E7%BB%9F%E9%83%A8%E7%BD%B2.rar
  • exp\imp 导入导出命令使用总结(转)

    2016-03-23 09:49:39


    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。利用这个功能我们可以从生产库中导出数据库,再导入数据库到测试库中。

    执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行是由于在oracle中,安装目录\ora9i\bin被设置为全局路径(也可直接在系统环境变量中设置),该目录下有EXP.EXEIMP.EXE文件被用来执行导入导出。

      

    下面是导入导出的实例。

    数据导出:

     1 将数据库zxcc完全导出,用户名kf 密码zx 导出到D:\zxcc.dmp

       exp kf/zx@zxcc file=d:\zxcc.dmp full=y

       

       full=y 表示全库导出。full总共有2个可选项yes(y)/no(n),缺省情况下full=no,这时只会将该用户下的对象导出。

       

     2 将数据库zxcckf用户与cc用户的表导出

       exp kf/zx@zxcc file=d:\zxcc_ur.dmp owner=(kf,cc)

       

       full方式可以备份所有用户的数据库对象,包括表空间、用户信息等,owner=XX只能备份指定用户的对象,其他用户下的就不备份了,EXPfull=yowner=XX是不能同时使用的。

     3 将数据库zxcc中的表kf_operatorkf_role导出

        exp kf/zx@zxcc file= d:\zxcc_tb.dmp tables=(kf_operator,kf_role) 

        

        tables=xx 表示备份相关表,不能同时和ownerfull使用。

     4 将数据库中的表kf_operator中的字段oper_id"00"打头的数据导出

       exp kf/zx@zxcc file=d:\zxcc_t.dmp tables=(kf_operator) query=\" where oper_id like '00%'\"

       

       query主要是导出合适条件的数据。使用该参数时,需要注意对所有操作系统保留字符都要使用转义符号。若有括号()也需要转义:

       query=\"where dt=to_date\(\'2007-09-22\',\'yyyy-mm-dd\'\)\" 

       如果遇到条件比较繁琐的语句,频繁的转义操作不仅费时,还很容易出错。我们可以使用expexpdpPARFILE参数避免query内容的繁琐转义问题。

       例:

       oracle DBALNP01 > cat > zxcc.par

       tables=kf_operator

       file=zxcc.dmp

       query="where dt_time=to_date('2010-06-25','yyyy-mm-dd')" 

       这时就可以尽情的再双引号中写条件语句了。

     

       上面是常用的导出,对于比较大的数据库,我们可以对导出文件进行压缩处理,可用winzipdmp文件进行压缩。

       也可以在上面命令后面加上 compress=y 来实现。

    数据的导入:

     1、将D:\zxcc.dmp 中的数据导入 zxcc数据库中。

       imp kf/zx@zxcc file=D:\zxcc.dmp

       

       导数据得时候,有可能报错。为什么?有以下主要的原因:

      A. 导入的对象(表,视图,方法等)原本不属于当前连接的用户的

      B. 导入的对象在该数据库的指定用户下已经存在

      C. 导入的对象的原本用户不在这个数据库里

        对于这三个问题的处理方法如下:

        

        a、所有对象全部导入到指定的账户下:

        

        imp kf_new/zx@zxcc_new file=d:\zxcc.dmp fromuser=kf touser=kf_new

        

        其中fromuser=kf.dmp文件里的对象的原先的owner, touser=kf_new 为作为导入的对象的新的Owner.

        

        b、忽略/插入数据:

      imp kf_new/zx@zxcc_new file= d:\zxcc.dmp ignore=y

        

        其中ignore=y告诉imp.exe把数据直接插入到相应对象(并且如果导入的对象里面有其他的对象,如约束,索引等,会在数据插入后被创建)。

        

     2、将d:\zxcc_tb.dmp中的表tb_operator 导入

       imp kf/zx@zxcc  file=d:\zxcc_tb.dmp  tables=(tb_operator)

     

       忽略加载约束

      有时候导数据进来的时候,我们不需要把它的约束,比如一些外键约束等都导进来,可以加上参数constraints=N

      不加载索引(比如唯一性的索引),可以加上参数indexs=N

        

       只加载结构,不加载数据,如果只要表的结构等定义(约束,触发器),而不要里面的数据,可以加上参数rows=N

      对于上述操作登陆操作的用户需是管理员,如果不是管理员,而是普通用户,那么这个用户必须有创建删除对象的权利,对象可能包括表,视图,方法,存储过程等等常见的对象。为什么“可能”包括?因为这个视导入导出的时候是否涉及相关类型的对象而定。 

       

       Imp kf/zx@zxcc_new file=d:\zxcc.dmp fromuser=kf touser=kf_new ignore=y

     

       基本上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。

     

    注意:

       (1)、操作者要有足够的权限,权限不够会有提示。

       (2)、数据库链接正常,可以用tnsping zxcc 来检测数据库zxcc能否连上。

       (3)、导入/导出数据库时注意字符集。可能会出现导出/导入时数据库字符集不一致而报错。

    oracle数据库其他常用命令:

       1、给用户增加导入数据权限的操作

    第一,启动sql*puls

        第二,以管理员(DBA)用户登陆

        第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略)

        第四,>grant create user , drop user , alter user , create any view , drop any view , exp_full_database , imp_full_database , dba , resource , create session to 用户名字;

    第五运行cmd进入dmp文件所在的目录,

          imp userid=管理员用户名/密码 full=y file= filename.dmp

          或者 imp userid=管理员用户名/密码 full=y file=filename.dmp

       2Oracle 不允许直接改变表的拥有者利用Export/Import可以达到这一目的.

       先建立.par文件()

       然后,使用时命令如下:imp parfile=/filepath/import9.par

       例 import9.par 内容如下:

            FROMUSER=user       

            TOUSER=user_new     (注:把表的拥有者由FROMUSER改为TOUSERFROMUSERTOUSER的用户可以不同)          

            ROWS=Y

            INDEXES=Y

            GRANTS=Y

            CONSTRAINTS=Y

            BUFFER=409600

            file==/filepath/xxxx.dmp

            log==/filepath/import_log.log

            

  • 报表测试(转)

    2016-02-03 09:52:00

    报表测试

    报表功能的基本要求,就是通过查询/统计/分析,提供用户所需的准确的数据。如果无法实现这个基本功能,则报表完全失去意义。

    对于用户来说,报表可以直接影响到他们的决策,例如可能因为报表对销售和库存情况反映的不准确,导致错误的大量进货;或者因为报表对应收应付金额计算的不准确,而导致企业对资金占用情况做出错误的估计,

    从而导致错误的决策,最终造成用户在经营上的损失。诸如此类,相信只要大家留心,还可以找出很多这样的例子。

    进销存系统中的报表多如牛毛,而且各种不同行业的进销存系统中的业务有区别,报表也有些区别,因此不太可能对各种报表逐个讲解,而主要是把一些报表测试的经验总结成了十几条可以在各种行业的报表测试中应用的“最佳实践”,来跟大家一起分享。希望下面的这十几条像一招招简单实用的“擒拿手”,可以供正在进行报表测试或者准备开始作报表测试的朋友随手拈来,见招拆招,轻松应对这项工作。

     

    (1)       提高对业务的熟悉程度

    其实对任何一个软件进行测试,都必须要熟悉它的业务,包括业务流程和业务规则。但是报表同一般的业务功能还是有些区别的。例如对于单据的增、删、改,通过对界面的浏览和探索性的操作,大概都可以弄明白它的业务流程和业务规则,因为这些内容比较直观,而且在不同的行业中也差不了太多。但是在报表中,是很难直观的看到我们所需要了解的内容的。例如报表中的某个数据项,它的算法或者说数据来源,恐怕是比较难看出来的——即使是很类似的一个数据项,在不同行业的实际业务中,它的算法和数据来源也可以能完全不同的。

    所以对于报表业务的熟悉,主要是两个方面:数据项的算法和数据来源,也就是说要明白一个数据项同具体的业务有什么关系,单据的增、删、改或者状态的变化,对报表中各个数据项的计算会产生什么不同的影响。如果不知道到这些,那么就无法验证报表中的数据是否准确,也无法通过报表去检查业务系统的正确与否。

    (2)       覆盖所有可能的查询统计方式,而不是以自己的使用习惯为准

    对于报表的使用者来说——一般是企业的中层或高层领导,他们对于报表的要求可能会是多方面的,例如在进销存系统中,可能需要按不同商品进行分类统计,也可能是按供应商分类统计,这些都是由用户在实际工作中的需要来决定的,所以假如一个报表提供了多种查询统计的方法,那么在测试时,只要时间充分,就应该覆盖这些所有可能被用到的查询统计方法,而不是以自己的使用习惯为测试的依据。

    (3)       使用或构造受控的数据环境

    数据对于报表测试来说是一个非常非常重要的问题。因为上面说到,报表的基本功能就是通过各种查询统计分析的方法,为用户提供准确的数据,帮助用户做出决策。那么那些用来进行测试的数据从哪里来呢?

    首先,应该保证准备足够多的有效的数据。前面一条也提到了,在实际测试报表时,应当尽可能的覆盖到报表所提供的各种查询统计方法,因此至少应该保证每一种查询统计方法都应该有对应的数据,得到的结果都不会是0,否则等于没有覆盖到这个被测的查询统计算法。当然数据也不是越多越好,能保证全部覆盖,并且刚好够用就可以了,因为数据的准备和生成也是很花时间的。

    其次,要保证数据的可控。数据并不是随意生成的,如果使用通过自动化工具或者通过业务测试时随意的输入的数据来进行报表测试,一般来说是不太可能的。因为如果无法控制数据来源,那么即使知道报表中每个数据项的算法,也无法最终验证报表的查询统计结果是否正确。例如,系统的会有不同类型的单据,每种单据又会有不同的状态,某个报表的统计中,可能会涉及到多种类型和状态的单据,那么在准备数据时,就要充分考虑到这一点,准备各种不同的单据来满足测试的要求。又比如,如果整个系统中只有一个供应商,一个商品,那么测试按供应商分类统计或者按商品分类统计的报表时,意义也就不大了。

    所以如果希望高有效、更高质量的完成报表的测试,那么就要重视并增加对于数据准备工作的关注:用于验证报表功能的数据,一定是专门为报表准备的,并且是经过精心设计,要分析影响数据项算法的各种因素,以及每个因素可能出现的不同变化,这样才有可能覆盖各种查询统计方法;同时,才能保证无论使用哪个数据项的算法进行计算,其结果都是可以预知的——因为数据来源已经被我们控制了。

    特别是对于算法比较复杂,又提供了多种查询统计方式的报表,如果想完整的测试,就需要准备大量的数据。而如果想高效、高质量的完成这项功能,就一定要理解数据准备工作的重要性。

    经过精心设计的数据还有一个好处,就是当在进行业务功能的测试时,不再需要使用一些随意的数据,而是可以通过业务测试的过程,把报表测试所需要的数据输入到系统中。并根据报表对单据类型和状态的需要,进行相应的操作。

    如果留心,你也会发现报表测试同其他业务功能测试的有个区别。业务功能(例如单据的新增、审核等)的测试用例设计,通常需要考虑的是对各种正常的、异常的业务流程和业务规则的组合的遍历或覆盖;而对于报表功能,虽然没有太复杂的业务流程和规则,但是算法更加复杂,同时报表功能本身就是一种对数据的加工处理,因此会更偏重于对于各种数据来源和算法的遍历或覆盖,也就是要准备各种正常的、异常的数据,来验证报表是否取到的该取的数据、没有取不该取的数据,并且最后计算出了正确的结果。

    (4)       特征性数据的准备

    这又是一个同数据准备有关的问题,也是一个解决实际问题的经验。如果由多人同时对一个系统进行测试,虽然大家各自使用的数据都是经过精心设计的,但是在实际进行报表测试时,还是很难保证其他人的数据不会对自己的测试结果产生影响,最明显的一个问题就是原来自己对结果是可以预知的——因为数据是经过精心设计的,是可控的,但是现在掺杂了别人的数据,就需要花时间去区分这种“假”的错误和真的错误。

    有一个经验是可以借鉴的,就是在初期,团队内对数据的准备达成一直,使数据中的某一项具有特征性,例如分别使用不同的供应商,或者使用不同的商品。最后测试报表时,通过限定选取的数据来源,来保证相互之间尽可能的没有影响。

    (5)       做好数据环境的备份和维护

    虽然数据是经过精心准备的,但是难免在操作过程中因为误操作导致环境的变化,例如不小心把一张单据变成了另外一种状态,或者某个类型的单据多做了一张。对于这种情况,一个简单的方法就是去维护你的数据文档——一般我们都可以用EXCEL表来保存我们事先准备的数据,可以一个文件保存一个类型的单据,例如采购单、入库单、出库单等等,文件中的每张表用来保存不同状态的单据,例如已经审核过的入库单,没有审核过的入库单,全部入库的入库单和部分入库的入库单,等等。假如你一不小心,把一张本来准备入一半的入库单全入了,那也不要惊慌,去重新调整一下你的数据文档,在相应的类型相应的状态的单据列表中新增一张就行了。

    而如果想减少回归测试的工作量,那么应该考虑在一些关键的“点”上备份测试数据。例如所有的基础单据已经输入完成,但是还都没有开始审核或者出入库,那么可以备份一下,下次再测的时候可以直接在数据库中恢复这部分原始数据。

    (6)       在业务功能测试通过之后才开始

    这一点相信应该不难理解,如果业务功能本身存在缺陷,导致的数据不准,那么最后进行报表测试也就没有什么意义了。所以,应该在保证各项同报表有关的业务的功能测试通过之后,才开始考虑对报表进行测试。

    (7)       寻求开发人员的协助

    在报表测试中很常见的一个问题,是需求文档中可能没有定义报表的各个数据项的算法,这时候你需要找开发人员帮忙,向他们了解准确的算法和相应的公式。

    (8)       多个报表相互对照

    这是一项“高级”的报表测试技能,需要对整个系统中的各种业务的熟悉程度达到一种炉火纯青的地步。除了可以准确的说出各个业务的处理过程对每张报表的影响之外,还能够进行横向的联系,知道不同报表之间存在的关系。例如,一个简单的例子,库存报表中,你可以看到商品的出入库情况,而在销售报表中,你可以看到商品的销售金额和销售成本金额,在应收应付报表中,你又可以看到不同供应商或客商之间的应收应付金额。那么这几张报表之间,是否存在一些关联呢?是否会存在一些可以相互验证的地方呢?这个问题,留给大家来思考 ^_^

    (9)       着重对那些算法复杂、与业务功能关联较多的报表的测试

    如果只是简单的把某个日期范围内的所有入库情况统计出来,可能不会出错;但是如果还要考虑按照供应商或商品汇总,同时要选取特定的类型或状态的单据,再进行一些响应的计算,恐怕就很难保证开发人员永远不会出错了。这就像业务功能的测试一样,越是复杂的业务,越有可能出错。

    (10)   留意四舍五入对报表数据的影响

    从这一条开始,后面的内容可以说也是一些在实际测试时要注意的事项。

    这也是一个常见的问题。在一般的进销存系统中,都会存在这种情况,无论小数点后保留几位,总是难以避免明细和汇总之间的差别。原因可能是因为采购和销售的包装不一致,因为拆零引起的,例如10/30*3010;或者由于毛利率、税率等因素导致的不一致。我们曾经试过在保留4位小数的情况下还是无法避免这种情况。

    (11)   留意进//销时使用不同单位对报表数据的影响

    例如采购时是5箱,每箱有100盒,而销售单位是盒,入库之后,可能会要求按照销售单位来统计,这时要注意开发人员是否会选择了错误的单位,把500盒弄成5盒。

    (12)   留意业务单据中存在多个日期字段时对报表数据的影响

    一般来说,一张单据上都会有多个日期字段,比如采购单就有采购日期、单据日期、审核日期,而入库单也会有单据日期、入库日期,诸如此类。那么在测试时,一定要留意,开发人员是否按照要求选择了正确的日期,包括日期选取的一致性——是否存在这边取采购日期,那边取审核日期的情况。

    (13)   留意是否存在遗漏的单据类型

    例如像出入库的报表,入库方向的,除了最主要的采购入库外,可能还会包括退货入库、盘盈入库、报溢入库;出库方向的,除了最常见的销售出库,还会包括盘亏出库、报损出库。那么在具体测试时,一定要准备充分这些相应类型的单据,并且要留意开发人员是否遗漏了相应的单据类型。

    (14)   留意不同状态的单据对报表数据的影响

    例如采购单,当采购单发出后,供应商会开始送货,可能第一批之送来了一半的商品,那么这时采购单的收货状态是“未完成” ;当供应商把商品送齐了以后,采购数量=收货数量,则采购单的收货状态变为“已完成”。那这时留意,开发人员在采购报表中,是包含所需要的状态的单据,还是只包含了一部分?

    (15)   留意那些被当做默认规则的因素

    有些规则——例如单据类型或者单据状态——是作为默认规则写死在SQL语句或者数据库的存储过程里面,这些规则不会体现在界面,也不会由用户选择决定。但是这些规则恰恰是最容易被忽略的部分。所以,一定要同开发人员反复确认,保证自己已经了解了同报表各数据项计算有关的各个因素。

    (16)   保证测试人员可以通过UI 找到自己所需的所有原始数据

    在进行系统测试时,无论是报表,还是一般的业务功能测试,都不要去直接通过SQL语句查询数据库中的内容,而是通过UI来输入,再通过UI体现处理的结果进行验证——因为这是系统测试,不是集成测试,将来用户是决不会去直接查数据库的。因此,如果需要对报表的结果进行验证,应该通过其他的功能模块,去查询业务单据,或者其他报表,根据UI体现的结果,来进行确认。

    (17)   检查大数据量对报表的影响

    报表测试也会涉及到性能测试,主要是在大数据量查询统计的测试。大数据量一是说原始数据多,二是被操作、计算的数据多,三是某个数据项被是经过多次计算得出的。特别是对于一些算法比较复杂的报表,10万条数据和100万条数据时的响应时间将表现出巨大的差别。

    (18)   不要遗漏权限控制和访问安全性的测试

    这里说的权限控制不是谁可以访问某个模块,谁不可以访问某个模块,而且数据的计算也没有直接的关系,而是侧重于报表设计的测试。我们都知道不同的报表是设计给不同的人看的,例如出入库报表是给仓库管理人员看的,里面不会包含商品的价格,而只会包含数量;而财务报表中,只会包含采购、销售的金额,而不会包含数量,这样才能保证可以相互对照,不会出现营私舞弊的行为。那么在测试时,应当考虑报表是否泄漏了不该泄漏的信息。当然,这里对业务的熟悉程度就是更高的要求了。

    又如,不同的业务员只能看到同自己有关的业务,但是领导可以看到所有业务员的业务——例如不同的业务员分管不同的客户或者地域,他们之间的销售情况是互相保密的。

    还有一种情况,系统的用户可能会为他的供应商提供一个专门的程序或者Web页面,供其对其供应的商品的销售、库存情况进行查看。那么对于这种情况,一方面是要保证某个供应商只能看到他所供应的商品的销售、库存情况,如果某个商品由多个供应商同时提供,那么其中一个供应商应该只能看到他提供的那部分,而看不到其他供应商提供的同一商品的情况。当然,这种功能一般都是通过外网(internet)来访问的,所以也还要考虑相应的访问安全性测试,以免泄漏重要的商业信息。

    ××××××××××××××××××××××××××××××××××××

    ====================================

    近日,看了陈雷的文章《进销存系统的报表测试http://www.51testing.com/html/6/1871.html ,自己也在这方面接触了两年的时间,颇有同感,他的经验总结得非常到位,在此,希望能作点补充,或者是以另一种角度来讨论!

    报表的重要性,大家都知道它有举足轻重的地位,特别是成本/利润类报表、月报、年报等,这里就废话少说了!所以,它对测试条件的要求、测试覆盖率的要求、测试深度的要求都非常高,而且不是一般的测试员和新手随便就能测试的,一定是对业务和相关的法规非常熟悉,最好能有实践经验的、较强分析能力、综合能力高的测试员来做!

    总结了报表在测试时需要关注的十大特性:
    一、 正确性
    报表的最低要求和基本特征就是它的正确性!
    1.报表格式的正确
    不同的报表有不同的格式,有些是行业内默认的,有些是明文规定的,还有自定义的,按照不同条件还可以分各种各样的,如:按照货品的仓库进出情况,分入库类报表、出库类报表和仓库类报表等;按照报表的类型,分图表,固定行列报表,分栏报表、交叉报表等等!因此,报表的格式不是随便增减的,一般包括表头、表体、表尾、以及附注等,测试时需要具体问题具体分析,根据需求提供的标准格式模板!
    2.报表内容的正确
    这是测试的重中之重,包括数据的算法、数据的来源、数据的对应关系、小数位问题、四舍五入问题、单位换算问题、税率换算问题、明细与合计是否一致、单据的类型/状态改变后对报表的影响等!

    二、 时段性
    这个很容易了解,没有那张报表在时空上的统计是漫无边际的,就算是“所有”或者“全部”,都是有它的时效!特别是财务类报表,有月报、季报、年报、甚至还有现金日记帐等,都表现出时段在报表中的必要。

    三、 条件性
    每个报表都是针对特定的条件而作出的输出,要想达到目的,是需要一定条件的。如:统计XX供应商XX业务员在XX时期采购XX商品的情况,在查询时就至少需要四个条件了!
    在测试查询条件时,通常采用正交的方法来增加它的测试覆盖率,但是要注意的是,测试数据的选取非常重要,我们都尽量模拟真实的、有代表性的、经过精心设计的数据!

    四、 可比性
    这在报表的分析和成效的判定上,显得尤其重要,通常报表的测试,不仅只是对单张报表的测试,还需要多张同时进行比较,多张可以是指同一时期不同类型的报表、不同时期同一类型的报表、不同类型与不同类型的报表(但它们之间必然存在某种关系的);还有什么同比的、类比的等!
    目的是找出它们之间的联系和区别,然后获得更深层次的某种规律或者业务流程的脉络。简单来说,就是从实践上升到理论!
    举个简单的例子:我们都知道财务报表的会计原则是“有借必有贷,借贷必相等”,因此,每个财务类报表都有借、贷两方;然而从销售收入报表、销售支出报表和销售利润表,显然得出:销售收入-销售支出=销售利润,这一条无人不晓的规律!

    五、 穿透性
    这个也很容易理解,大多数的报表都不是孤立的,例如:从汇总表可以穿透到明细表,从明细表又可以穿透到单据,从单据甚至可以穿透到具体的产品;虽然它们的层次深度可能不一样,但它们与某某之间有着奇妙的联系!
    在测试中,一定要理清它们之间的层次、顺序,这就需要对业务的理解和知识的积累!

    六、 隐蔽性
    这里不是指报表的数据或者结果隐蔽,而是指所统计的数据来源的隐蔽。例如:入库类的,除了正规的采购入库,还会有估价入库、退货入库、盘盈入库、报溢入库、拆卸入库(将**产品或者已经打包的产品,拆卸后将元素产品重新入库)等;出库类的,除了常见的销售出库,还会有采购退货、盘亏出库、报损出库、生产领用、**领用等。请注意的是,有些进销存系统还分有帐面库存数和实际库存数两种的!
    另一个陷阱:有些进销存系统的应收帐款是由正常的应收帐款加上预付转应收的部分组成的;同理,应付帐款是由正常的应付帐款加上预收转应付的部分组成!

    七、 时序性
    上面说了时段性,现在到说说时序性,顾名思义,就是指业务发生的时间顺序。在明细报表中,每项明细都应该有记录业务发生的时间,它的先后顺序很重要。
    举个简单的例子:某仓库库存量为100,三月份销售出库50,四月份采购入库也是50,如果将四月份的采购入库计入三月份的,虽然年仓库库存量还是100,没有变,但是对于月度库存量和季度库存量就影响大了!

    八、 安全性
    1.这个主要体现在报表的权限控制上。因为报表是针对不同的用户设计的,特别是敏感的数据,如个人资料、产品成本、商业信息等,这就需要加强访问权限的控制,有的是只读的,不能过滤条件或者修改其他的查询条件;有的根据用户等级来分配权限等!
    2. 通过用户角色和密码来控制:业务员只能看到自己的业绩报表
    3.通过用户角色的等级来控制:非财务主管不能打开销售收入利润表等

    九、 直观性
    报表的数据、结果清晰明了,页面简洁、排版合理,不能给用户产生模糊或者引起奇异的感觉;一般合计的部分或者关键字段都需要突出显示;有的报表需要图文并茂,选择最佳的报表类型。

    十、 打印
    仅仅测试通过查询得到的报表,是不足够的;通过屏幕看到报表的效果,也是不能全信的,需要持有怀疑的态度,把报表打印出来,重新检查是否适合所需的效果!

    包括:打印模板的设计、套打样式、自定义模板、打印调试、打印时间等方面。 



  • o2o

    2016-01-29 14:37:25

    Online to offline to online 是线上交易或营销到线下消费体验再到线上消费体验

    比如:保险直购O2O,苏宁易购O2O,大众点评O2O等

    C2C是 consumer to consumer 就是个人对个人的,比如淘宝的小店铺。

    B2C是 business to consumer 是商家对个人,这个就很多了卓越、当当、京东等等都是。

    C2C 很重要的一点是都运用了物流。

    B2B 是business to business 是企业间的,比如阿里巴巴。

    举例通俗说明一下就是:

    C2C 就是我卖东西你来买

    B2C 就是我成立个公司卖东西,你来买

    O2O 就是我成立个公司卖东西,你来买,但是要你自己来拿

    B2B 就是你也成立了公司,买我公司的东西

  • 详细测试用例设计方法-转载

    2016-01-21 19:06:22

    详细测试用例设计方法-转载
  • 如何编写测试报告

    2016-01-21 18:45:21

    如何编写测试报告--突破
  • 测试需求功能分析

    2016-01-19 15:42:46

    如何进行测试需求功能分析--突破
  • 如何编写测试方案

    2016-01-14 15:19:07

    如何编写测试方案--突破
301/212>
Open Toolbar