精华内容
下载资源
问答
  • 软件测试技术经典教程 第2版

    热门讨论 2016-05-05 10:25:33
    《软件测试技术经典教程(第2版)》是高级软件测试工程师专用教材。作者通过丰富的项目及培训经验,结合大量实际案例讲解软件测试技术和软件测试工具的应用,将最实用的技能及知识传授给读者,使读者尽快上手,少走...
  • 软件测试技术

    千次阅读 2018-11-24 14:14:00
    软件测试技术 软件的概念:信息处理系统的所有或部分程序、规程、规则和任何相关的文档的集合。 程序:源程序+目标程序 源程序:高级语言、汇编语言编写的程序 目标程序:源程序经编译或解释加工以后可以由...

    软件测试技术

    软件的概念:信息处理系统的所有或部分程序、规程、规则和任何相关的文档的集合。

    程序:源程序+目标程序

    源程序:高级语言、汇编语言编写的程序

    目标程序:源程序经编译或解释加工以后可以由计算机直接执行的程序

    文档:用自然语言或形式化语言所编写的文字资料和图表,用来描述程序的内容、组成、设计、功能规格、开发情况、测试结果以及使用方法。

    软件测试包括:源程序+目标程序+文档

     

    软件测试的定义:使用人工或者自动手段,来运行或测试某个系统的过程。其目的在于检测它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

     

     

    测试过程(了解) 每一阶段都要从头来一次

    需求测试:需求文档的测试

    测试的计划:对测试过程的整体设计,确定测试范围,制定测试策略,安排测试资源,进度制定,风险评估,应对策略

    测试设计及用例:测试设计,用例设计,用例评估

    测试的执行:用例的选择(难得?复杂的?优先级高的?),测试环境的搭建,每日构建

    测试的记录和跟踪:Bug记录,Bug管理,Bug的报告(沟通,评审,提交),Bug的跟踪

    回归测试:再测一次

    测试总结和报告:缺陷的分类报告,客观全面的报告生成,经验总结

     

     

     

     

    测试的分类

    按测试的方法分类:

    静态测试和动态测试,白盒测试,黑盒测试,灰盒测试,冒烟测试,回归测试,功能测试与性能测试,压力测试和负载测试,配置测试,文档测试,兼容性测试,安全测试,恢复测试,可移植性测试,引导测试,随机测试,手动和自动测试,通过/失败测试,错误猜测,易用性,安装性,界面性。

     

    按测试的阶段分类:单元测试,集成测试,(确认测试),系统测试,(验收测试 a测试,b测试)

     

     

    测试的原则:

    投入和产出平衡(当有两次bug趋于0,当第三次出现就停止测试继续开发)

    二八原则

    尽早的和不断开展测试

    错误的地方多投入

    同化问题:交叉测试,利用不同人的观点

     

     

    需求的测试

    需求占缺陷比例高达56%

     

    需求可能存在的问题

    需求文档编写有问题、功能不明确,流程不清晰,不正确占50%,余下50%是需求的遗漏造成的。

    拿着一线文档(需求卡片),需求规格说明书和卡片进行对比,所有规格都已经有了,再使用检查列表对需求说明书进行优化,看有没有歧义,语法上的错误,再结合所有的项目组人员进行讨论,评审,修订,看看需求规格说明书上有没有什么不能实现,需不需要再找客户。

     

     

     

     

    检查列表

     

     

    第一步:对比需求

    第二步:检查列表检查需求

    第三步:根据定稿的需求规格说明书来分析我们测试用例,以备测试

     

     

    测试计划

     

    测试计划的内容(了解):

    确定测试范围

    制定测试策略

    测试资源安排

    进度及安排

    风险及对策

     

    测试范围:功能,性能

    策略:测试方法

    资源进度安排:人,物,时间。细化到最小颗粒逐渐反推相加

     

     

    测试用例设计

     

     

    基于需求的测试用例设计:

    验证需求是否正确,完整性,无二义性,并且逻辑一致性

    从黑盒角度设计出充分并且必要的测试集

    基于需求的测试需要工具支持,比如QC

     

     

    测试用例设计:

    等价类划分法

    边界值分析法

    因果图法

    基本路径分析法

    场景设计法

    错误猜测试

    正交分解法

    ……..

     

     

    黑盒测试的基本概念:
    穷举输入测试是不实现的。这就需要我们认真研究测试方法,以便能开发出尽可能少的测试用例,发现尽可能多的软件故障。

    常用的黑盒测试方法有等价类划分,边界值分析,决策表测试等,每种方法各有所长,我们应针对软件开发项目的具体特点,选择合适的测试方法,有效地解决软件开发中的测试问题。

     

     

    等价类划分:

    等价类划分是一种典型的黑盒测试方法,它完全不考虑程序的内部结构,只根据程序规格说明书对输入范围进行划分,把所有可能的输入数据,即程序输入域划分为若干个互不相交的子集,称为等价类,然后从每个等价类中选取少数具有代表性的数据作为测试用例,进行测试。

    在确立了等价类之后,可按下表的形式列出所有划分出的等价类表

    等价类表

    同样,也可按照输出条件,将输出域划分为若干个等价类

    在设计测试用例时应同时考虑有效等价类和无效等价类测试用例的设计。根据等价类表设计测试用例,具体步骤如下:

    1. 为每个等价类规定一个唯一的编号
    2. 设计一个新的测试用例,尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步,直到测试用例覆盖了所有的有效等价类。
    3. 设计一个新的测试用例,使其覆盖并且只覆盖一个还没有被覆盖的无效等价类。重复这一步,直至测试用例覆盖了所有的无效等价类。

     

    边界值分析法

    健壮性边界值测试将会产生4n+1个测试用例

    健壮性测试最有意义的部分不是输入,而是预期的输出,观察例外情况如何处理

    等价类划分+边界值法

     

    因果图法

     

    因果图法的原理

    因果图法测试用例的设计步骤

    1. 确定软件规格中的原因和结果。分析规格说明中哪些是原因(即输入条件或输出条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。
    2. 确定原因和结果之间的逻辑关系。分析软件规格说明书中的语义,找出原因与结果之间,原因与原因之间对应的关系,根据这些关系画出因果图。
    3. 确定因果中的各个约束。由于语法或环境的限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。
    4. 把因果图转化为决策表
    5. 根据决策表设计测试用例

     

    决策表法(不会考)

    决策表通常由条件桩,条件项,动作桩和动作项4部分组成。

     

    因果图+决策表

    动作项和条件项紧密相关,指出在条件项的各组取值情况下应采取的动作。

     

    生成的决策表

    练习:见测试方法.doc 和 PPT上的例子,实验报告中的例子

     

     

    场景设计法    

    大部分软件是由事件触发来控制流程的,事件触发时的情景就是所谓的场景

    根据需求规格说明书中的用例规约来设计,正常的流程,异常分支应该怎么做。主要是测流程,没有测细节,还是要用等价类划分来测试。

     

    错误猜测法

    是基于经验的直觉推测程序中可能发生的各种错误,有针对性设计测试用例。

    优点:充分发挥个人的经验和潜能,命中率高

    缺点:覆盖率难以保证;过多的依赖个人的经验。

    注意:最重要的是要思考和分析测试对象的各个方面,多参考以前发现的Bug的相关数据,总结的经验,个人多考虑异常的情况,反面的情况,特殊的输入,以一个攻击者的态度对待程序,那么就能设计出比较完善的测试用例。

     

    正交分解法

    正交表法是一种有效减少测试用例个数的设计方法。

    有效减少测试用例个数的测试用例方法。单因素覆盖,成对覆盖,三三组合覆盖

    PICT工具

     

    测试的执行,测试的管理工具

    BUGFREE的工作流程

    在这个平台上提交你的需求,比如说提交你发现的BUG,指派给某一个开发人员来完成,基本上指这个功能的开发人员,他在这个平台上接到通知之后,对其进行修复,修复完成之后就会提醒测试人员,我已经修复好了请再测试一次,如果通过就把这个Bug关闭掉,如果没有通过,就再次发给开发人员来进行修复。

    BUG的状态

     

     

     

    测试执行中的关键

    测试环境的准备

    构建测试运行的平台和安装需要的软硬件系统。

    人员的安排

    不仅包括指定哪些人参加功能测试,哪些人参加系统测试和谁负责测试环境的维护等,还要包括人员的培训,知识的传递。

     

    测试用例包括哪些内容:测试功能(目标),测试环境,测试要录入的数据,测试的具体操作,预期结果,不包括实际结果。

     

     

    测试执行的准备

    培训和知识传递

    测试任务安排

    测试环境的建立

    测试环境的设置

    测试自动化运行平台

     

    白盒测试

    静态白盒测试和动态白盒测试

    静态白盒测试:主要测三个方面软件的设计,体系结构和代码。从而找出软件缺陷的过程,有时也称为结构化分析

    原因:尽早发现软件错误;为黑盒测试人员提供建议

    方式:1.确定问题2.遵守规则3.准备期间4.编写报告

    方法:互查,走查,会议评审。

     

    互查:小组之间成员之间交流互相交流源代码,怎么去调用源代码,对方如何调用处理,增进感情。

    走查:每个项目会派出代表,或者项目主的每个成员都会出来陈述代码第一步怎么做,第二部怎么做……,或者用什么样的算法去提高底层的效率。

    好处:检查代码的注释是否写好,效率是否有问题。把控整个小组的代码风格(如命名风格,申明变量的风格)。

     

    会议评审:公司的高层会派一个专家组进驻你的项目,然后看看你的项目设定或者编码情况。但是成本高。因为专家进来之前对这个项目不是很熟悉,专家组需要一定的时间来了解这个项目。

     

    动态白盒测试

    检查代码并观察运行状况

    利用查看代码(做什么)和实现方法(怎么做)得到的信息来确定哪些需要测试,哪些不要测试,如和开展测试

    又称为结构化测试

     

    动态白盒测试期望达到的目的

    所有独立路径至少都能测试一遍

    所有逻辑判断都能测试True和False两条路径;

    所有循环结构都能测试到边界和循环域内的情况;

    确保内部数据结构的有效性。

     

     

    白盒测试主要的方法

    逻辑覆盖测试法

    基本路径测试法

    循环路径覆盖法

     

    逻辑覆盖测试法

    语句覆盖:每条语句至少执行一次

    判定覆盖:每个判定的每个分支至少执行一次

    条件覆盖:每种条件下的语句都应该被执行

    判定/条件覆盖:同时满足判定覆盖和条件覆盖

    条件组合覆盖:每个判定中,各条件的每一种组合至少出现一次。

    路径覆盖:程序中每一条可能的路径至少执行一次。

     

    基本路径测试法(阅读代码->画出流程图->圈复杂度->设计测试用例->进行相关测试)

    基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。

     

    路径是控制流程图中节点的顺序,始于入口节点,止于出口节点

     

     

    程序可能通过的路径是:

    路径 1:1 – 11

    路径 2:1 – 2 – 3 – 4 – 5 – 10 – 1 – 11

    路径 3:1 – 2 – 3 – 6 – 8 – 9 – 10 – 1 – 11

    路径 4:1 – 2 – 3 – 6 – 7 – 9 – 10 – 1 – 11

     

    圈复杂度的计算:

    1. 边-节点+2
    2. 封闭+1
    3. 矩阵模型(可以不用掌握)

     

    循环路径覆盖法

    五种测试用例

    1. 整个跳过循环
    2. 只有一次通过循环
    3. 两次通过循环
    4. m次通过循环,m<循环最大次数
    5. n-1,n,n+1次通过循环

     

    实际运用中,基本路径+循环使用的最多

     

    将测试进行分段

    测试越早发生越好

    代码分段构件和测试,最后合在一起形成更大的部分

    单元测试:接口,数据边界,路径,异常,局部变量(数据)

    可测可不测:条件组合,性能,功能

     

    单元测试概念

    定义:单元测试时对软件基本组成单元进行的测试

    时机:在代码完成后由开发人员完成,QA人员辅助

    意义:尽早发现错误,发现的越早成本越低

     

    单元测试内容

    运行单元程序有时需要基于被测单元的接口,开发相应的驱动模块和桩模块

    驱动模块

     

    驱动模块:对底层或子层模块进行测试所编写的调用这些模块的程序。

    桩模块:对顶层或上层模块进行测试时所编写的替代下层模块的程序。

     

     

    集成测试

    对于传统软件来说,按集成粒度不同,可以把集成测试分为3个层次,即:

    1. 模块间集成测试
    2. 子系统内集成测试
    3. 子系统间集成测试

     

    集成测试的模块

    渐增式测试模块与非渐增式测试模块

    非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒法(先测试最小模块,再测试最大的模块)

    大棒方式的优缺点

    好处:非常快捷

    坏处:容易出错,一旦出现错误,不知道是哪个模块出现的错误

     

     

    渐增式测试模式:把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。当使用渐增方式把模块结合到程序中去时,有自顶向下和自底向上两种集成策略和混合

    自顶向下的优缺点

    优点:可以纵观全局,很快的发现软件测试文档出现的问题

     

    自底向上的优缺点:

    效率高,但是需要大量的驱动

     

     

    自顶向下和自底向上集成策略

    驱动程序/驱动模块(driver),用以模拟被测模块的上级模块。驱动模块在集成测试中接收测试数据,把相关的数据传送给被测模块,启动被测模块,并打印出相应的结果。

    桩程序/桩模块(stub),也有人称为存根程序,用以测试被测模块工作过程中所调用的模块。桩模块由被测模块调用,它们一般只进行很少的数据处理,例如打印入口和返回,以便于检测被测模块与其下级模块的接口。

     

     

     

    系统测试

    需求分析阶段:测试需求规格说明书,是否与用户要求一致

    概要设计阶段:测试概要设计说明中是否覆盖了所有已确定的需求,是否考虑了后期维护

    详细设计阶段:数据结构,算法是否正确,编码规范

    编码阶段: 单元测试,集成测试

    系统验收阶段:测试系统是否完成了需求规格说明书中的所有内容

     

     

     

     

     

    系统测试概念

    使用人工或自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的系统需求或是弄清预期结果与实际结果之间的差别。系统测试在真实环境下进行

    验证(Verificaiton)

        验证确定工作产品正确反应了它们的规定需求。换言之,验证保证"你正确地构件了它"

    确认(Validation)

        确认确定提供的产品将满足其预期使用。换言之,确认保证"你构建了正确的产品"

     

    为了发现发现却缺陷并度量产品质量,按照系统的功能和性能需求进行的测试

    一般使用黑盒测试技术

    一般由独立的测试人员完成

     

    对于模块之间交互性比较强的软件,还会有单独的集成测试,用来发现模块接口之间的错误。

     

    系统测试的内容(了解哪个是那个)

    功能测试

    恢复性测试(灾难测试,容错测试)

    可用性测试

    安全性测试

    接口测试

    GUI测试

    安装/升级测试

    配置测试/兼容性测试

    国际化(语言)测试

    用户文档测试

    ……

     

     

    性能测试

    压力测试

    容量测试

    可靠性测试

    边界测试

    ……….

     

    冒烟测试

     

    回归测试

     

    随机测试

     

    硬件系统专有测试

    可靠性试验

    可产生性测试

    可维护性测试

     

     

    自动化测试

     

    性能测试包括以下几个方面

    评估系统的能力。测试中得到的符合和相应时间等数据可以被用于验证所计划的模型的能力,并帮助做出决策。

    识别系统中的弱点。受控的负荷可以被增加到一个极端的水平并突破它,从而修复系统的瓶颈或薄弱的地方。

    系统调优。重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能,检测软件中的问题。

     

     

    性能测试的概念

    性能测试主要验证软件是否达到需求规格说明书中规定的各类性能指标,并满足一些行性能相关的约束和限制条件。

    主要有:响应时间,并发用户,吞吐量,服务器性能,点击率,响应成功率

     

    性能测试的分类(谁是谁,有什么区别)

    压力测试

    负载测试

    并发测试

    配置测试

     

    负载测试

    负载测试是通过逐步增加系统工作量,测试系统能力的变化,并最终确定在满足功能指标的情况下,系统所承受的最大工作量的测试。

    压力测试实质上就是一种特定类型的负载测试

    并发测试是一种测试手段,在压力测试中可以利用并发测试来进行压力测试

    负载测试是模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。负载测试更多地体现了一种方法或一种技术。

     

    压力测试是在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。

     

    压力测试可以被看作是负载测试的一种,即高负载下的负载测试,或者说压力测试采用负载测试技术。通过压力测试,可以更快地发现内存泄漏问题,还可以更快地发现影响系统稳定性的问题。

     

     

     

     

    性能测试的流程

     

     

    自动化性能测试原理

    首先保证一个用户能正常访问,记录访问过程,记录通讯包

    通过测试工具模拟更多用户同时发通讯包,后台无法区分是人或工具

    通过测试工具模拟大量用户同时向后台发出请求,来达到产生压力和指定压力的目的,在产生指定压力的同时监控后台系统的资源消耗情况,监控客户端的请求处理时间

     

     

    复制出客户端发往服务端的请求,模拟用户

    关注的是通讯包,协议,不关心客户端形式

     

     

    关于LoadRunner

    LoadRunner是Mercury Interaction公司开发一款成熟的性能测试工具,LoardRunner作为性能测试的实现者,涉及性能测试流程,性能测试技术和软件系统架构等众多方面的知识点。

    LoardRunner提供的解决方案

     

     

    LoadRunner的过程

    脚本生成器Virtual User Generator

    VuGen提供了基于录制的可视化图形开发环境,可以方面简洁地生成用于负载的性能脚本。

    压力调度和监控系统Controller

    负责对整个负载的过程进行设置,制定负载的方式和周期,同时提供了系统监控的功能。

    压力生成器Load Generator

    负责将VuGen脚本复制成大量虚拟用户对系统生成负载。

    结果分析工具Analysis

    通过Analysis我们可以对负载生成后的相关数据进行整理分析。

     

     

    自动化测试的步骤:

    录制一个操作的过程,称为脚本

    回放一下,验证脚本是否正确

    脚本增强(参数化如密码,用户名。在脚本中设置检查点,检查运行过程中是否执行成功,如果成功了就会出现字符串或图片。)

    设置自动化测试执行的策略

    事务,设定我们的场景(一开始多少线程启动,做什么样的事情,到达某一时刻线程,其他一些零界点做什么事情,线程在什么时候停止,在什么时候再启动)在测试过程中观察参数的变化(相应时间,等)

    分析报告,在报告中我们查看某个功能运行时间效率是否达到我们之前的设定,或者方差是我们期望的,否则进行调优。

    展开全文
  • 测试技术提升分享

    千次阅读 2019-10-12 18:26:41
    在腾讯课堂上分享测试技术相关的课程也有一段时间了,同时在博客(http://blog.sina.com.cn/u/1760715297)和微信公众号上也分享了不少相关文档。现在已经有相当关注度,也有很多同学加入了我们的QQ群(867446822)...

         在腾讯课堂上分享测试技术相关的课程也有一段时间了,同时在博客(http://blog.sina.com.cn/u/1760715297)和微信公众号上也分享了不少相关文档。现在已经有相当关注度,也有很多同学加入了我们的QQ群(867446822)积极地进行交流。但在交流过程中,也存在不少问题,有相当的同学不了解我们的课程,也不清楚如何学习,所以我写这篇文章,给大家做个指导:

    一,测试行业发展

          有同学进入测试行业有一两年了,功能测试做的也不错,可是不知道如何发展,想提升自己可是无从下手,那么你需求抽空听一下:

    1,测试那些儿事二期

    URL:https://ke.qq.com/course/451069?taid=3760411371823613&tuin=4fd18ae

    对测试发展有个整体的了解,分析一下现在你处的位置,以及以后的发展方向。

    2,从小白到资深测试开发进级指南

    https://ke.qq.com/course/331807?tuin=4fd18ae

    从技术角度来分析如何从测试小白到资深测试开发,逐步提高自己的能力,安排好测试计划,步步为营,厚积薄发。

    二,功能测试与工具使用

          功能测试看似简单,可是有不少同学对功能还是没有完全掌握好,盲目去提升技术也是不好的选择,还是需要把基础打牢。

    1,功能测试知识体系与技能大全三期

     https://ke.qq.com/course/412245?taid=3505178645252693&tuin=4fd18ae

    从九大主题来全面介绍功能测试需要掌握的能力,你可以对照一下是否掌握了相应的能力?

    2,如何快速定位BUG

    https://ke.qq.com/course/355278?taid=2666839683722190&tuin=4fd18ae

    Bug测试人员永恒的话题,不用多说!

    3,Postman实战讲解

    https://ke.qq.com/course/359724?taid=2885286015368492&tuin=4fd18ae

    接口测试利器,功能测试必备工具,你值得掌握。

    4,Postman高级应用

    https://ke.qq.com/course/431222?tuin=4fd18ae

    普通的postman使用方法如果不够完成你的工作,那就进一步提升一下,掌握不一样的能力。

    5,抓包工具fiddler讲解

    https://ke.qq.com/course/329678?taid=2394873764579278&tuin=4fd18ae

    前后端分离,移动端测试必备工具,Windows版本。

    6,Charles Mac抓包利器

    https://ke.qq.com/course/419675?tuin=4fd18ae

    前后端分离,移动端测试必备工具,Mac版本。

    三,测试能力提升

          功能测试已将近退出舞台,不掌握点儿测试相关的技术,找工作的时候要么没有面试机会,要么面试通不过,所以提升技能迫在眉睫。

    1,Shell在互联网测试开发中的应用

    https://ke.qq.com/course/355416?tuin=4fd18ae

    测试环境部署,日志分析,错误排查必备能力。

    2,SoapUI小白快速上手实战讲解

    https://ke.qq.com/course/348873?taid=2688202851046089&tuin=4fd18ae

    接口自动化测试工具

    3,接口,WebUI,App自动化测试总诀(三期)

    https://ke.qq.com/course/412247?taid=3491838476831319&tuin=4fd18ae

    全面了解测试所应该掌握的三大自动化测试,对自动化测试有一个整体的了解。

    4,接口测试自动化(Python版完整版)

    https://ke.qq.com/course/420427?tuin=4fd18ae

    python+request接口自动化测试,代码编写,架构设计,持续化集成一体化教程。

    5,接口测试自动化(Java版完整版)--二期

    https://ke.qq.com/course/362088?tuin=4fd18ae

    java+httpclient接口自动化测试,代码编写,架构设计,持续化集成一体化教程。

    6,Appium 移动自动化测试(Android,Python版)快速提高班

    https://ke.qq.com/course/419931?tuin=4fd18ae

    Appium+python+unittest+HtmlTestRunner+Jenkins 安卓自动化测试一体化设计教程。

    7,WebUI自动化之快速定位与优质检测点设计(二期)

    https://ke.qq.com/course/399654?taid=3367168461117734&tuin=4fd18ae

    WebUI自动化测试中核心内容,元素快速定位和检测点设计技巧分享,多年实战经验分享。

    8,App自动化测试面试指导--二期

    https://ke.qq.com/course/420654?taid=3592774503263022&tuin=4fd18ae

    App自动化测试面试时常问问题讲解。

    9,jenkins实战

    https://ke.qq.com/course/334152?taid=2450373331982664&tuin=4fd18ae

    自动化测试之持续化集成必掌握工具,jenkins, 如果你不会,自动化测试学习的就不够完整。

    10,性能测试从小白到大咖之JMeter实战

    https://ke.qq.com/course/331613?tuin=4fd18ae

    性能测试首要工具Jmeter,性能指标获得,二次开发入门指导。

    四,其他能力扩展

          功能测试是基础,测试技能是硬性要求,但是其他的辅助能力也非常重要。做好测试,必须全面发展,面试也是我们工作中必须经历的。

    1,测试人员超实用面试指导

    https://ke.qq.com/course/343680?tuin=4fd18ae

    面试是一种斗智斗勇的活动,面试人员必须从简历,到面试等做好全面的准备,才能在众多应聘人员中脱颖而出;不管能力如何,万不可打无准备之仗。

     

    五,总结

          本文全面介绍了本人在腾讯课堂上分享的各类教程,如果你有这方面的需求,可以根据选择进行学习。如果您有任何学习需求,也可以积极和我们交流,后续我们会持续更新相应的课程,欢迎您多多关注。

    展开全文
  • 测试技术总监需要具备哪些能力

    千次阅读 2019-04-11 21:02:59
    现把测试技术总监的要求分享给各位,一起交流。 由于我们主要做网络设备,所以相关技术要求以网络相关知识为主,至于其它领域的测试技术总监要求则可以类比。 我认为测试技术总监需要具备两大方面的能力。 测试...

    前段时间,接到了一个任务,负责开展事业部技术总监职位的竞聘活动,故整理了技术总监的技术要求,希望符合条件的同学们积极参与竞聘。现把测试技术总监的要求分享给各位,一起交流。

    由于我们主要做网络设备,所以相关技术要求以网络相关知识为主,至于其它领域的测试技术总监要求则可以类比。

    我认为测试技术总监需要具备两大方面的能力。

    测试工程:

    1、基础能力:具备扎实的基础知识,如通信、计算机、网络、编程语言、软件工程、测试理论、测试技术等;熟练使用网络仪表、通用网络设备以及各类测试工具等;

    2、技术能力:精通某个或多个测试技术领域,如白盒测试、系统测试、专项测试、自动化测试等,具备技术攻关能力,发现并解决所负责领域的关键难题;

    3、业务能力:精通某个或多个业务领域,如网络安全,流量处理,智能网卡,态势感知等,拥有比较丰富的业务测试实践经验;

    4、架构设计:能够独立进行大型/复杂软件项目的测试架构设计,对所负责的领域具有规划的能力,能够推动产品测试技术持续优化和不断演进;

    5、方向掌控:根据公司总体发展战略,制定本领域技术发展战略,引领本领域的技术方向,确保技术方向的正确性和可持续发展性;

    个人软能力:

    1、沟通交流:掌握沟通交流的技巧和方法,熟悉演讲和辩论的技巧,具备良好的沟通交流能力和技术输出能力;

    2、思考能力:拥有独立思考的能力和系统化的思维,能够对本领域的问题提出深刻见解,从根本上解决存在的矛盾;

    3、学习能力:拥有开放的心态和持续学习的恒心,对技术有浓厚的兴趣,密切跟踪最新技术发展态势,不断完善自我知识体系;

    4、体系优化:熟悉研发流程,参与公司流程规范的建设和产品/技术/流程的优化改进,提高团队工作效率;

    5、管理能力:指导、培养低级别的工程师,做好技术资产积累和梯队建设,促进并形成完整的技术支撑队伍;

    总之,测试技术总监更多的还是偏测试技术方向把控、测试架构设计、测试技术的难题解决、测试技术的实践和应用、测试技术的挖掘和创新,不断的使用技术手段来提高工作的效率,进而为部门创造更好的绩效。

    展开全文
  • 在软件测试技术之中,静态测试是经典的测试技术一类。这里,我们先概 要解释和说明一下静态测试技术。  静态测试不以测试数据的执行而是对测试对象的分析过程。  静态测试存在于软件生命周期的各级测试。如,...

     

    1. 静态测试 


    在软件测试技术之中,静态测试是经典的测试技术一类。这里,我们先概 
    要解释和说明一下静态测试技术。 
     静态测试不以测试数据的执行而是对测试对象的分析过程。 
     静态测试存在于软件生命周期的各级测试。如,需求分析、概要设计、 详细设计及组件测试、集成测试和系统测试的阶段或层级。 
     静态测试的方法,主要有人工(手工)评审静态分析(人工或机器自 动检测)两大类。通常可分别采用一种方法或混合使用两种方法。 
     静态测试中的评审(或审查)的基本思想和目标是对软件缺陷或错误的 一种预防措施。因而软件技术文档的审查是静态测试的主要任务之一。 
     静态测试的技术方法构成和说明。

    如下图 1 所示。 

                                                      图 1 静态测试技术方法的构成 

    -针对需求分析和概要设计进行的评审。评审在需求分析概要分析阶段 建立的评审基础上开展,有人工评审静态技术分析两个过程。 
    -人工评审分为正式评审非正式评审。正式评审是执行对被测对象(文档或程序)检查的活动及过程(也称为技术评审);非正式评审主要采用对文档或程序的走查活动及过程。如,对某一个具体程序的走查。走查通常采用单独或集体审阅的方式进行。 

    2. 静态测试内容及过程 静态测试内容及过程 


    (1)静态测试内容 
    静态测试的内容包含:测试需求分析、测试概要分析、测试详细设计、测试执行与测试结果分析 
    (2)静态测试过程 

    • 进行测试需求分析:这是静态测试过程的首个阶段,将确定测试的需求,建立起测试基础与评审基础。 
    • 进行测试概要设计:在测试需求分析基础上,完成对测试方案的制定。如,测试内容、测试目标、测试策略、测试方法等。 
    • 进行测试详细设计:这个阶段主要完成测试进程中,各项具体任务安排和实施的细节考虑。如,测试用例设计等。 
    • 测试执行与结果分析:根据静态测试的计划进行静态测试执行的过程,各项测试任务的完成,并提交测试工作交付物。 

    3. 静态测试的实施与执行 

    (1) 静态测试的实施 

    静态测试通常采用两种策略:人工静态分析借用工具静态分析。 
    人工静态分析发挥人的智力和具有的逻辑思维优势,在分析过程中也常借助专用的静态测试分析工具来辅助。目前,实际工作中基本都是采用两种方法的混合模式,既充分发挥了发挥人的智慧,又运用了机器(工具)分析的高效便捷。
    (2) 静态分析的过程有别于编译过程 
    编译的功能是不能替代测试的。虽然编译系统也能检查软件(程序)中的错 误,但其主要的作用是检查程序的语法等错误。这是因为编译系统并不具备软件测试的功能,并无针对性的去寻找特定的软件测试对象中的缺陷、错误的功效。
    而测试通常是要通过执行测试用例来实现的。同时,编译是无法检测到程序的逻辑错误或缺陷的。 
    (3) 代码检查 
    代码检查的内容主要包括:代码走查桌面检查代码审查等活动及过程。
    代码检查其功效是能快速找到软件缺陷或错误。测试业界实践表明,通过代码(通常是源代码)的走查过程,可检查到程序中 30-45%的程序逻辑设计及编码中的缺陷或者错误。代码检查在实际软件开发过程中被普遍采用,特别是针对组件(即
    单元)测试。 


    4.静态测试的结构分析方法 

    (1)以图形方式表现程序内部结构 
    静态结构分析主要以图形的方式来表达程序内部的结构关系。如,函数调用关系图,函数内部控制流图等。函数调用关系图是以直观的图形方式描述一个程序中各个函数的调用和被调用的关系; 函数内部控制流图以有向图来表达函数内部的程序控制逻辑。 

    (2) 以程序的控制流图显示程序函数的逻辑结构 
    程序的控制流图由多个节点和连接的边所构成。一个节点代表一条语句或数条语句,连接结点叫作边,边表示节点之间的控制流向。图 2 所示是一个控制流图的实例。 

                                                                  图 2 一个程序控制流图 

     (3)检查项 
    静态测试的检查项,主要有:代码风格和规则的审核;程序设计和结构的 
    审核;业务逻辑的审核。 
    (4) 代码的质量度量 
    针对软件的可测试性、可读性(可维护性),通常有 3 种不同的代码质量度量 
    参数。 
    Line(行)复杂度。Line 复杂度是以代码的行数作为计算度量的基准。
    Halstead(运算符与运算元)复杂度。Halstead 复杂度是以程序中使用到的运算符与运算元数量作为计数目标(直测指标),据此来计算程序的容量和工作量。 
    McCabe(圈)复杂度。它是将程序流程图结构转化为有向图结构(见图 2),以图形(有向图)为基础来衡量软件或程序的复杂度度量。 
    代码质量度量常常通过静态测试来获得,所以静态测试方法也称为静态分析,静态测试是对被测程序进行质量特性分析方法的总称。 
    (5)检查与规范、标准的一致性 
    通过静态测试工具可检查测试对象是否与应用的程序规范、标准的相一致,以检查软件程序是否遵循了大部分的编程规则与标准规范。以工具检查的优势是可快速并准确的帮助开发者与测试人员进行自动化检测过程,以发现被测对象与规范、标准的一致性(其后例举)。 

     

     

     

     

     

     
    主要参考文献 
    1.《软件测试教程(第 3 版)》,贺平,电子工业出版社,2014 
    2. 范根检查法(Fagan inspection) 
    * 范根检查法是一种正式的,结构化的评审方法。针对的评审对象包含软件开发生命周期中的需求说、
    系统设计、测试样例程序代码等大部分的软件开发中的输出物。 

    展开全文
  • 几种测试技术

    千次阅读 2018-07-24 16:28:03
    一、单元测试技术 1.定义:单元测试又称为模块测试(程序测试),即集中力量来检验软件设计的最小单位——模块。  单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。 2.目的:单元测试的...
  • Kali渗透测试技术实战

    2015-07-04 09:46:22
    Kali渗透测试技术实战
  • 解:随着计算机技术的迅速发展和广泛深入的应用,软件质量问题已成为开发和使用软件人 员关注的焦点。而由于软件本身的特性,软件中的错误是不开避免的。不断改进的开发技术 和工具只能减少错误的发生,但是却不可能...
  • 测试技术描述

    千次阅读 2020-08-11 21:24:16
    测试技术 简要描述 验收测试 基于最终用户/客户规约的最终测试,或基于最终用户/客户使用一段时间后进行的测试 即兴测试 与探索测试相似,但是通常值测试人员在测试以前对软件有较深的理解 α测试 当开发...
  • 你了解全面的ATE自动测试技术吗?

    千次阅读 2018-08-17 18:20:33
    自动测试或自动测试设备广泛用于生产测试中,以便在最短的时间内完成最佳测试:有几种不同类型可用。 自动测试设备,ATE包括: ATE基础知识自动光学检测,AOI自动X射线检测,AXI在线测试,ICT功能测试,FATE开发...
  • 白盒测试技术

    千次阅读 2018-01-08 22:02:46
     逻辑覆盖是以程序内部的逻辑结构为基础设计测试用例的技术,属于白盒测试。  被测试模块的流程图 语句覆盖  设计若干测试用例,运行被测程序,使每个可执行语句至少执行一次。  语句覆盖率 = 被评价...
  • TPC-C是TPC组织(国际...在整个测试的准备、优化和审计过程中,OB自身踩过了很多坑,也收获了很多经验,希望对整个TPC-C测试进行一个整体的概要分享,让所有对TPC-C和数据库感兴趣的同学更进一步了解所有的技术细节。
  • 软件测试技术之: 白盒测试和黑盒测试

    万次阅读 多人点赞 2016-06-01 16:02:18
    白盒测试和黑盒测试的区别和基本方法。
  • 软件测试技术常见问题汇总

    千次阅读 2015-04-01 10:02:23
    单元测试大多数由开发人员来完成,测试人员技术背景较好或者开发系统软件时可能会安排测试人员进行单元测试,大多数进行的单元测试都是开发人员调试程序或者开发组系统联合调试的过程。讨论这个问题主要是扩充一下...
  • 软件测试分类-按照测试技术划分

    千次阅读 2015-12-13 17:02:31
    第一种划分:白盒测试、黑盒测试、灰盒测试  白盒测试(结构测试)  通过对程序内部结构的分析、检测来寻找问题。  白盒测试可以把程序看成装在一个透明的白盒子里,也就是清楚了解程序结构和处理过程,检查...
  • 源文件下载地址:https://download.csdn.net/download/guaishounan/12016864
  • 2019全栈通用测试技术(三)

    千人学习 2019-06-28 13:37:06
    学习目标:熟练掌握软件测试的各种常用测试方法,熟悉软件测试流程,熟悉缺陷跟踪流程,会在主流测试管理平台中进行测试设计与执行,并进而可以胜任手工测试工程师的工作
  • 经典软件测试技术分类

    千次阅读 2013-06-28 13:14:08
    测试技术是指顺利完成测试的一系列相关过程,有很多可能的分类方式,表2-1就是其中的一种。表中列出了流行的测试技术,也按照上面的讨论对其进行分类:手工测试、自动测试、静态测试、动态测试、功能(黑盒)测试...
  • 2019高级自动化测试技术(六)

    千人学习 2019-06-28 14:02:38
    学习目标: 熟悉性能测试方法,熟练运用主流测试工具进行接口测试。 完成项目: 慕课(MOOC)系统性能测试 跨平台系统接口测试
  • 源文件下载地址:https://download.csdn.net/download/guaishounan/11954849
  • 2019WEB栈自动化测试技术(五)

    千人学习 2019-06-28 13:53:08
    课程介绍 学习目标:通过学习Python、VBScript等脚本语言,掌握自动化测试与性能测试测试开发手段,进阶高级软件测试工程师。 完成项目:1.个人网银自动化测试;2.慕课(MOOC)系统性能测试
  • 应用安全测试技术DAST、SAST、IAST对比分析-持续更新 版权来源:安全牛首发文章,本文仅补充完善。 一、全球面临软件安全危机 我们即将处于一个软件定义一切的时代,这是 “一个最好的时代,也是一个最坏的时代”...
  • 源文件下载地址:https://download.csdn.net/download/guaishounan/12430286
  • 软件测试技术路线怎么走

    千次阅读 2017-05-19 10:50:34
    软件测试工程师发展路线(这里只说的是纯技术路线,不包括测试管理路线)分为技术路线中级域、技术路线高级域、技术路线专家域。
  • 常用技术面试题(软件测试

    万次阅读 2020-05-22 22:04:15
    这是小编整理的软件测试常用的技术面试题 请看下面 你的测试职业发展是什么?  测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年...
  • 不少测试同行寻问我要测试技术交流群,所以,借CSDN平台发布一下:软件测试技术交流群(纯技术交流)。以下技术交流群为测试同行技术交流用,共同进步。1、自动化|性能测试技术交流群(1群):272819728
  • 无论是生活中离不开的通讯、支付、娱乐、餐饮、出行,以及医疗,还是国防领域中的火箭、导弹、卫星等,都离不开软件技术。然而,软件技术在促进社会发展的同时,也可能因为漏洞问题危害人们的个人隐私信息、财产安全...
  • web渗透测试

    千人学习 2018-05-08 18:13:51
    Web渗透测试教程,该课程侧重于讲解Web安全,并通过实验详细分析常见的十种Web漏洞、漏洞利用过程等。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,448,605
精华内容 579,442
关键字:

测试技术