最新文章 New Article
  • Generic placeholder image
    黑盒测试

    黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。 黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

  • Generic placeholder image
    什么是黑盒测试?

    黑盒测试(Black-box Testing),黑盒测试又称为“功能测试”,是将测试对象看做一个黑盒,在并不考虑软件产品的内部结构和处理过程的基础上对软件产品进行功能测试。黑盒测试注重软件产品的“功能性需求”。 整个测试过程中,每个人接触最多的应该就是黑盒测试的用例设计。 平时我们需要结合实际项目,挑选使用合适的用例设计方法,尽量将每个用例设计好,在这里给大家介绍一些常见的黑盒测试用例设计方法。 1)等价类划分:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。 例如,我们要测试一个用户名是否合法,用户名的定义为:8位数字组成的字符。 我们可以先划分子集:空用户名,1-7位数字,8位数字,9位或以上数字,非数字。 然后从每个子集选出若干个有代表性的值: 空用户名:“”(无效等价类实例,指对于软件规格说明而言,没有意义的、不合理的输入) 1-7位数字:"234"(无效等价类实例) 8位数字:"00000000"(有效等价类实例,能检验程序是否实现了规格说明中所规定的功能和性能) 9位或以上数字:"1234567890" (无效等价类实例) 非数字:"abc&!!!"(无效等价类实例) 他们5个,就是用等价类划分选出的测试用例。实际上,对于1-7位数字的子集来说,选“234”和“11111”没有本质的区别。 等价类的划分,最关键的是子集的划分。实际上,非数字还可以继续划分子集:字母,特殊字符。 2)边界值分析法:是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。 使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。 3)错误猜测法:基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。 错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。 例如, 在单元测试时曾列出的许多在模块中常见的错误。 以前产品测试中曾经发现的错误等, 这些就是经验的总结。 还有, 输入数据和输出数据为0的情况。 输入表格为空格或输入表格只有一行。 这些都是容易发生错误的情况。 可选择这些情况下的例子作为测试用例。 4)因果图方法:前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等。 考虑输入条件之间的相互组合,可能会产生一些新的情况。 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。 这就需要利用因果图(逻辑模型)。 因果图方法最终生成的就是判定表。 它适合于检查程序输入条件的各种组合情况。 5)正交表分析法:可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。 6)场景分析方法:指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。 7)状态图法:通过输入条件和系统需求说明得到被测系统的所有状态,通过输入条件和状态得出输出条件;通过输入条件、输出条件和状态得出被测系统的测试用例。 8)大纲法:大纲法是一种着眼于需求的方法,为了列出各种测试条件,就将需求转换为大纲的形式。大纲表示为树状结构,在根和每个叶子结点之间存在唯一的路径。大纲中的每条路径定义了一个特定的输入条件集合,用于定义测试用例。树中叶子的数目或大纲中的路径给出了测试所有功能所需测试用例的大致数量。

  • Generic placeholder image
    黑盒测试的概念及测试方法

    黑盒测试 黑盒测试不关心软件内部结构和具体实现。 我们可以把软件当成一个黑盒子,通过对黑盒子进行数据输入和相关操作,观察程序的运行结果,对比实际结果和预期结果是否一致。 黑盒测试包括功能测试、非功能测试。 功能测试按不同阶段可划分为:单元测试、集成测试、系统测试、验收测试、回归测试。 非功能测试包括:性能测试、压力测试、负载测试、安全测试、兼容性测试、易用性测试。 二、测试方法 黑盒测试方法包括:等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交实验设计法、功能图法、场景法等。(具体细节不展开了,网上一搜一大把) 以上属于软件测试基础理论,说起来有些笼统,初学软件测试时,看到这些理论知识云里雾里的。 但当实际上岗了,接触到真实的测试项目了,基础概念也就不攻自破了。 实践出真知,多动手来勤动脑。

  • Generic placeholder image
    如何专业地进行黑盒测试?

    专业的黑盒测试是如何将发现的问题归类的? 首先专业的测试肯定是会把bug归类的。 一般都会把bug按优先级来归类,根据问题的重要性和紧急性来综合判断。 比如说主流程相关的bug,肯定是重要且紧急的,因为主流程功能如果阻塞了,测试进度也会阻塞,排期如果延期,进而也会影响上线安排。比如一些crash,虽然可能不是必然出现的。但一旦在线上出现,会严重影响用户体验,这也是一种严重的bug。像一些UI层面的bug,就是不重要不紧急的。2. 描述中这个黑盒测试人员的观点是普遍思想吗?怎么形成的?测试发现问题后,不分轻重缓急,也不知道分析。一般来说这种情况存在,但并不占大多数。优秀的测试人员会对bug进行定位和分级的,可能你同事暂时没有太多经验。3.发现产品与设计图在某个按钮上颜色有出入就提 Bug,有些问题明显是同一个问题引起的,不去发现根本原因,却一直提表面现象。首先,这个肯定是一个bug,研发本来就是按产品经理的需求来开发的。如果你开发出来的功能或者模块和需求文档不一致,站在测试的角度上是必须要提bug的。另外,些问题明显是同一个问题引起的,不去发现根本原因,却一直提表面现象。测试如果发现了bug,只是尽量去帮你定位和复现问题,但是作为研发不能太依赖测试。凭心而论,这也不是一个多么严重的问题,自己就可以修改了,难度也不大。如果是比较难复现的bug,好的测试也是会配合你一起去定位的。如果说测试别的地方没测好,专门来挑这这个bug的毛病,那确实有点不应该。

  • Generic placeholder image
    测试用例设计方法_状态图法

    什么是状态图法? ??状态图法主要是关注被测对象的状态变化,在策划案中是否有不可以达到的状态和非法的状态,是否产生非法的状态迁移 2 状态图法基本思想 ??状态图法的首要目标就是查找出所有的状态,然后再分析各个状态之间的转换、条件等,根据分析的状态进行用例设计 ?? 1.3 状态图法优缺点 优点: ??(1)流程化更加清晰,调理有序,保证每一个功能/状态的可达项都被覆盖 ??(2)状态序列明确,不容易遗漏 ??(3)清晰描述状态转换的必要触发条件以及其他影响转换的因素,更利于发现缺陷 缺点: ??(1)主要着重于对象的状态及其状态之间的转换,没有注重描述行为的动作,对无效的路径无法覆盖 ??(2)需要具有定向思维,对于初步接触的使用者并不友好 ??(3)步骤较为繁琐,对于庞大的玩法、系统而言会比较麻烦 ?? 1.4 状态图的建立 ??(1)建立状态转换图 ??(2)游戏可能进入的某一种独立状态 ??(3)从一种状态转入至另一种状态所需的输入和条件 ?? 1.5 减少测试状态及转换数量 ??(1)每种状态至少访问一次 ?? 如何到达的没有太大关系,但每一种状态都必须进行测试 ??(2)测试看起来是最常见和最普遍的状态转换 ?? 尽管听起来可能很主观,但是测试最常见的也是最管用的 ??(3)测试状态之间最不常用的分支 ?? 这些是策划和开发最容易忽视的,测试人员可能是第一个测试它的人 ??(4)测试所有错误状态及其返回值 ?? 如果错误没有得到正确处理,修复错误时未正确恢复游戏/软件的情况经常发生 ??(5)测试随机状态转换 ?? 把状态及其转换的假定于项目小组的策划案作者和开发讨论,他们可以提供测试人员想不到的状态内幕 ?? 1.6 状态图设计步骤 ?? ??(1)根据策划案明确各个状态节点 ??(2)绘制状态图 ??(3)绘制状态树 ??(4)抽取测试用例 ?? 1.7 游戏状态列举 ?? ??上述我们提及到了,状态图法是查找出所有的状态并进行转换,分析等,在游戏中有很多内容涉及到状态的变更转换: ??(1)奖励领取状态:未领取、可领取、已领取 ??(2)物品相关:物品到账、物品消耗 ??(3)任务相关:未完成、已完成,已领取、未领取、待解锁 ??(4)次数相关内容:兑换次数、领取次数、任务次数等 ??(5)选择项:已选择,未选择等 ??(6)输入项:已输入,未输入等

  • Generic placeholder image
    状态图怎么画?

    状态图是用于建模的五种UML 图之一。 它定义了一个物体在其生命周期中的不同状态,这些状态会随着事件的发生而改变。状态图对于建立反应系统的模型很有用,反应式系统可以定义为对外部或内部事件作出反应的系统。状态图描述了从一个状态到另一个状态的控制流。状态定义为对象存在的条件,当某个事件被触发时,状态发生改变,状态图重要的目的是建立一个对象从创建到终止的生命周期模型。 状态图有什么作用? 在对系统进行建模的时候有些对象的行为是动态的,可能会需要触发才会出现,而状态图的目的就是为了描述对象在其生命周期中的状态。 1.为系统的动态方面建模,让系统的信息表述的更全面。 2. 描述一个物体在其有生之年的不同状态,是处于触发,还是休眠,或者是死亡。 3. 建立对象的生命周期模型,有利于程序员设计对象的方法等。 4.帮助程序员了解需求提高编码速度。 状态图的绘制方法 第一步:点击下载“亿图图示“软件,或访问在线版亿图图示。启动软件,开始作图! 第二步:新建状态图。依次点击“选择软件/计算机”-“UML图”。然后从例子库中,选择一个模板,点击打开UML状态图。 第三步:先点击画布上方的使用按钮,然后你可以改变其形状成你想要的样子。 第四步:双击文本框,对模板内容进行修改。 第五步:完成状态图的绘制后,可以点击右上角的保存、下载、打印、分享等按钮,对绘制好的状态图作品进行存储。也可以将作品导出为图片、PDF、PPT等格式。

  • Generic placeholder image
    接口自动化测试白盒测试与黑盒测试的区别

    软件测试是软件工程中的一个非常重要的环节,是开发项目整体的一部分,是伴随软件工程的诞生而诞生的,但软件测试不是万能的,不可能发现全部缺陷。其中,黑盒测试和白盒测试是两种不同类型的软件测试策略,它们具有同样强大的功能,白盒测试和黑盒测试往往不是决然分开的,一般在白盒测试中交叉使用黑盒测试的方法,在黑盒测试中交叉使用白盒测试的方法。 一、黑盒(功能性)测试和白盒(结构性)测试 (1)黑盒测试: 黑盒测试又称功能性测试、数据驱动测试、基于规格说明的测试。它在己知软件所应具有的功能的基础上,检查程序功能能否按需求规格说明书的规定正常使用,功能是否有遗漏,性能等特性要求是否满足。 在进行黑盒测试时只需参照规格说明检查软件,不要求考察代码,从用户视角来对软件进行测试。黑盒测试的目的在于检测软件功能是否正确和完整,检测是否有人机交互和数据访问错误,检测软件行为和性能是否满足需求以及检测软件初始化和终比过程是否有错误。 黑盒测试要遵循以下的步骤:首先需要先根据规格说明书来生成测试用例,然后执行测试并分析覆盖标准,最后再根据所得结果来作出结论。 黑盒测试方法主要有等价类划分、边值分析、因――果图、错误推测等,主要用于软件确认测试。“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。黑盒测试的主要缺陷是难于衡量系统的完整性,而白盒测试正好可以弥补这个缺陷。 “黑盒”表示看不见盒子里头的东西,意味着黑盒测试不关心软件内部设计和程序实现,只关心外部表现,即通过观察输入与输出即可知道测试的结论。任何人都可以依据软件需求来执行黑盒测试。黑盒测试注重于测试软件的功能性需求,着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试,多应用于测试过程的后期。它是一种根据软件需求,设计文档,模拟客户场景随系统进行的实际测试.这种测试技术涵盖了测试的方方面面,它主要是为发现以下几类错误:是否出现功能错误或遗漏;在接口上能否进行正确的输入与输出;是否存在数据结构错误或外部数据库访问错误;性能上是否能够满足要求;是否有初始化或终止性错误。

  • Generic placeholder image
    黑盒测试和自动化测试哪个初学者好胜任?

    首先明确一些概念,很多人认为不需要写代码的就是黑盒测试,需要写代码的就是白盒测试,这样是有一定的误解或者说不严谨。一些情况下我们只能编写代码调用接口进行测试,虽然是用到写代码,但是这种情况也是黑盒测试。黑盒测试就是已经知道了产品的功能设计规格,可以进行测试证明每个实现了的功能是否复合要求。这就意味着做测试的时候完全不需要考虑产品内部的逻辑和结构,把这个整体看做一个不透明的“黑盒子”,根据需求说明书,检查功能是否复合就可以了,在软件的接口处进行即可,所以黑盒测试也叫作功能测试。举个例子,你带着你女朋友逛商场,你不进去,你老婆在里面一通买,怎么买的你不用管,逛了什么地方你也不用管,你老婆带着东西正常出来,你站在门口,月光了,就完事了是,商场对于你来说就是个“黑盒子”你不用进到商场里面放着你媳妇儿和人打架吵嘴了,踩别人脚了,逛的时间太长了,去哪了没去哪这些乱七八糟的事情,你只需要知道你媳妇儿正常出来,你钱没了,就可以了。这就是功能测试,也就是黑盒测试。但是自动化测试就不同了,需要你自己编写脚本,搭建框架,当然这里里面用到的东西就多了,当然必然是离不开代码的,这个时候,针对黑盒来说,就好比你搭建了一套系统,每周固定时间你媳妇会自动到商场里面,最后拿着东西出来,钱没了,OK,你不用带着你媳妇去了,你在家歇着打LOL吧这样说来,那必然是黑盒测试对于初学者更好掌握,毕竟你带着媳妇去商场流程比较简单不是?前提是你得有媳妇儿

  • Generic placeholder image
    软件测试的分类、定义

    软件测试的定义:   书面定义:为了发现程序中的错误而执行程序的过程。   自己理解:软件质量的检查。   软件测试分类:   按测试技术,软件测试可分为:黑盒测试、白盒测试、灰盒测试   黑盒测试:在程序接口进行测试,它只是检查程序功能是否按照规格说明书的规定正常使用。也被称为功能测试或者数据驱动测试。   白盒测试:要完全了解程序结构和处理过程,它按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作。也被称为结构测试或逻辑驱动测试。   灰盒测试:介于黑盒测试与白盒测试之间的测试,既要像黑盒测试那样关注输出对于输入的正确性,同时也关注内容表现,但这种关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志判断内部的运行状态。   按测试方式,软件测试可分为:静态测试、动态测试   静态测试:是指不运行程序,对程序和文档进行分析与检查;静态测试技术又称为静态分析技术。   动态测试:通过运行程序进行检查、分析程序的执行状态和程序逻辑的外部表现。   按测试阶段,软件测试可分为:单元测试、集成测试、系统测试、验收测试   单元测试:单元测试是对软件设计的最小单元——模块,进行正确性检验的测试工作。   目的:主要是测试模块在语法、格式和逻辑上的错误。   集成测试:集成测试也称为组装测试,集成测试按设计要求把通过单元测试的各个模块组装在一起之后所进行的测试。   目的:检查模块间的接口关系,以便发现与接口有关的各种错误   系统测试:系统测试是将已经集成好的软件系统置于实际运行环境中所进行的测试。   目的:根据需求分析时确定的标准检验软件是否满足功能、行为、性能和系统协调性等方面的要求。   验收测试:是软件开发结束后,用户对软件产品投入实际应用前,进行的最后一次质量检验活动。它要回答开发的软件产品是否符合预期的各种要求,以及用户能否接受的问题

  • Generic placeholder image
    学软件测试要什么基础?

    IT行业近年来的发展势头十分迅猛,很多人都想要从事IT行业,而其中软件测试行业门槛低、薪资高,成为了IT的热门行业。那么学习软件测试需要什么基础呢?我们今天就来为大家介绍一下。 软件测试的门槛是很低的,其实并不需要任何基础。因为软件测试需要写的代码很少,所以它并不像软件开发那样需要很强的逻辑思维能力和创造力。也不需要你是IT专业出身或者有相关的计算机背景,因此软件测试行业对IT小白人群来讲是十分友好的。另外软件测试对学历的要求也不高,软件测试课程一般都从零基础讲起,能够让大部分人都学会。如果真的需要一定基础的话,那就是基本的操作电脑的能力,相信几乎每个人都具备。 另外软件测试分为手工测试和自动化测试两个方向的,手工测试又分为功能测试、性能测试、接口测试等。手工测试并不需要写代码,只需要用测试工具点击进行测试即可。哪个方向掌握得好,从事哪个方向的测试工作就可以,并不需要掌握所有测试方向的技能。自动化测试可能需要借助代码来编写一些脚本,但如果你不做自动化测试的话,代码也不是必备技能。 所以软件测试的就业面可谓十分宽广,有开发的地方就有测试。在这些测试方向中,还会分行业,比如金融测试、测试等等。如果你有相关的行业知识那就更好了,这样你的薪资会比一般的测试工程师更高。 由此可见,软件测试并不难,只要用心肯学,肯定是都能学会的

推荐图文 New Article