应以正向测试过程为主

作者:admin 来源:未知 点击数: 发布时间:2018年12月24日

  一、对于产物的手机项目(使用软件),次要是进行系统测试。而针敌手机使用软件的系统测试,我们凡是从如下几个角度开展:功能模块测试,交叉事务测试,压力测试,容量测试,兼容性测试,易用性/用户体验测试等。

  1、功能模块测试:起首应阐发功能模块的功能项,测试每个功能项能否可以或许实现对应的功能。一般按照测试用例(Test Case)或软件本身的流程就能够完成根基功能测试(相对简单,毛病也较容易发觉、处理)。

  2、交叉事务测试:又叫事务或冲突测试,是指一个功能正在施行过程中,同时别的一个事务或操作对该过程进行干扰的测试。例如通话过程中领受到短信或闹铃触发,使用软件运转过程中插拔充电器等。施行干扰的冲突事务不克不及导致使用软件非常、手机死机或花屏等严峻问题。别的,还需要留意各交叉事务的优先级别,查验系统能否能根据各事务的优先级别顺次进行处置。不克不及因施行优先级别高的事务而导致优先级较低的事务吊死。

  3、交叉事务测试很是主要,一般能发觉使用软件中一些潜在的问题。别的有中英文模式切换的手机要留意中英文模式切换后的功能实现具有的问题(这个次要针敌手机使用软件支撑言语自顺应功能),这一点凡是会被测试人员忽略。

  4、压力测试:又叫鸿沟值容错测试或极限负载测试。即测试过程中,曾经达到某一软件功能的最大容量、鸿沟值或最大的承载极限,仍然对其进行相关操作。例如持续进行短信的领受和发送,跨越收件箱和SIM卡所能存储的最大条数,仍然进行短动静的领受或发送,以此来检测软件在超凡态前提下的表示,进而评估用户可否接管。

  存储压力:因为手机采用的是栈式存储,所以当一个存储块满了之后,若是法式员不做响应处置或者处置欠好的话,很容易形成其他存储区被擦除,从而在UI上呈现问题(好比其他功能无法一般利用,呈现非常)。

  响应能力压力:有时候某个操作可能处置的时间很长,在处置期间若是测试者再不竭地进行其他操作的话,很容易呈现问题。

  收集流量压力:施行较大数据流量的功能的同时,再进行其他功能操作,使得收集流量一直处于很高的形态(如视频通话时再进行短信等其他功能操作),验证各功能能否仍然能一般工作,能否具有因收集流量瓶颈而惹起某功能非常。

  压力测试用手工测试可能很繁锁,能够考虑主动化测试。可惜的是,目前还没有较为大量利用的东西,一般都是由开辟人员共同开辟出的东西,或者高级的测试人员编写出的脚本。

  5、容量测试:即存储空间已满时的测试,包罗手机用户可用内存和SIM卡的所有空间被完全利用的测试。此时再对可编纂的模块进行和存储空间相关的任何操作测试,若是软件在极限容量形态下处置欠好,有可能导致死机或严峻的花屏等问题的呈现。

  6、兼容性测试:也就是分歧品牌、款型的手机(针对目前我们产物来说,次要是针对分歧品牌、款型的手机上的测试),分歧收集,分歧品牌和分歧容量大小的SIM卡之间的互相兼容的测试。分歧型号的手机支撑的图片格局、声音格局、动画格局纷歧样,需要选择尽可能通用的格局,或者针对分歧的型号进行设置装备摆设选择。以短动静为例:中国电信的小灵通领受到从中国挪动或中国联通GSM发来的短动静,需要验证显示和答复功能能否一般等。再好比,使用软件别离在OPPO R7、OPPO A3手机上运转,各功能能否均能一般利用,界面能否均显示一般等。

  7、易用性/用户体验测试:易用性(Useability)/用户体验是指在指定前提下利用时,软件产物被理解、进修、利用和吸援用户的能力,是交互的顺应性、功能性和无效性的集中表现。手机操作次要依赖拇指,所以交互过程中不克不及设想的太复杂,交互步调不克不及太多,该当尽量设想多点快速体例,易用是对终端软件(推而广之是交互类软件)最根基、最主要的要求。欠好用的软件很难吸援用户,更别提提拔用户对软件的忠实度了。易用性体此刻:所见即所得、一用便知、一学就会,便利快速的完成预期功能。易用的软件能让一个新用户快速进修、利用我们的软件,并在利用软件过程中表现我们的贴心办事,超出用户预期的表现是我们追求的方针。

  ①静态的代码平安测试:次要通过对源代码进行平安扫描,按照法式中数据流、节制流、语义等消息与其特有软件平安法则库进行匹对,从中找出代码中潜在的平安缝隙。静态的源代码平安测试长短常有用的方式,它能够在编码阶段找出所有可能具有平安风险的代码,如许开辟人员能够在晚期处理潜在的平安问题。而正由于如斯,静态代码测试比力合用于晚期的代码开辟阶段,而不是测试阶段。

  ②动态的渗入测试:渗入测试也是常用的平安测试方式。是利用主动化东西或者人工的方式模仿黑客的输入,对使用系统进行攻击性测试,从中找出运转时辰所具有的平安缝隙。这种测试的特点就是实在无效,一般找出来的问题都是准确的,也是较为严峻的。但渗入测试一个致命的错误谬误是模仿的测试数据只能达到无限的测试点,笼盖率很低。

  ③法式数据扫描。一个有高平安性需求的软件,在运转过程中数据是不克不及遭到粉碎的,不然就会导致缓冲区溢出类型的攻击。数据扫描的手段凡是是进行内存测试,内存测试能够发觉很多诸如缓冲区溢出之类的缝隙,而这类缝隙利用除此之外的测试手段都难以发觉。例如,对软件运转时的内存消息进行扫描,看能否具有一些导致隐患的消息,当然这需要特地的东西来进行验证,手工做是比力坚苦的。

  大部门软件的平安测试都是根据缺陷空间反向设想准绳来进行的,即事先查抄哪些处所可能具有平安隐患,然后针对这些可能的隐患进行测试。因而,反向测试过程是从缺陷空间出发,成立缺陷要挟模子,通过要挟模子来寻找入侵点,对入侵点进行已知缝隙的扫描测试。益处是能够对已知的缺陷进行阐发,避免软件里具有已知类型的缺陷,可是对未知的攻击手段和方式凡是会力所不及。

  ①成立缺陷要挟模子。成立缺陷要挟模子次要是从已知的平安缝隙入手,查抄软件中能否具有已知的缝隙。成立要挟模子时,需要先确定软件牵扯到哪些专业范畴,再按照各个专业范畴所碰到的攻击手段来进行建模。

  ②寻找和扫描入侵点。查抄要挟模子里的哪些缺陷可能在本软件中发生,再将可能发生的要挟纳入入侵点矩阵进行办理。若是有成熟的缝隙扫描东西,那么间接利用缝隙扫描东西进行扫描,然后将发觉的可疑问题纳入入侵点矩阵进行办理。

  ③入侵矩阵的验证测试。建立好入侵矩阵后,就能够针对入侵矩阵的具体条目设想对应的测试用例,然后进行测试验证。

  为了规避反向设想准绳所带来的测试不完整性,需要一种正向的测试方式来对软件进行比力完整的测试,使测试过的软件可以或许防止未知的攻击手段和方式。

  ①先标识测试空间。对测试空间的所有的可变数据进行标识,因为进行平安性测试的价格昂扬,此中要重点对外部输入层进行标识。例如,需求阐发、概要设想、细致设想、编码这几个阶段都要对测试空间进行标识,并成立测试空间跟踪矩阵。

  ②切确定义设想空间。重点审查需求中对设想空间能否有明白定义,和需求牵扯到的数据能否都标识出了它的合法取值范畴。在这个步调中,最需要留意的是切确二字,要严酷按照平安性准绳来对设想空间做切确的定义。

  ③标识平安隐患。按照找出的测试空间和设想空间以及它们之间的转换法则,标识出哪些测试空间和哪些转换法则可能具有平安隐患。例如,测试空间愈复杂,即测试空间划分越复杂或可变数据组合关系越多也越不平安。还有转换法则愈复杂,则出问题的可能性也愈大,这些都属于平安隐患。

  ④成立和验证入侵矩阵。平安隐患标识完成后,就能够按照标识出来的平安隐患成立入侵矩阵。列出潜在平安隐患,标识出具有潜在平安隐患的可变数据,和标识出平安隐患的品级。此中对于那些平安隐患品级高的可变数据,必需进行详尽的测试用例设想。

  正向测试过程是以测试空间为根据寻找缺陷和缝隙,反向测试过程则是以已知的缺陷空间为根据去寻找软件中能否会发生同样的缺陷和缝隙,两者各有其优错误谬误。反向测试过程次要的一个长处是成本较低,只需验证已知的可能发生的缺陷即可,但错误谬误是测试不完美,无法将测试空间笼盖完整,无法发觉未知的攻击手段。正向测试过程的长处是测试比力充实,但工作量相对来说较大。因而,对平安性要求较低的软件,一般按反向测试过程来测试即可,对于平安性要求较高的软件,应以正向测试过程为主,反向测试过程为辅。

  软件的平安有良多方面的内容,次要的平安问题是由软件本身的缝隙形成的,下面引见常见的软件平安性缺陷和缝隙。

  缓冲区溢出已成为软件平安的头号公敌,很多现实中的平安问题都与它相关。形成缓冲区溢出问题凡是有以下两种缘由。①设想空间的转换法则的校验问题。即缺乏对可测数据的校验,导致不法数据没有在外部输入层被查抄出来并丢弃。不法数据进入接口层和实现层后,因为它超出了接口层和实现层的对应测试空间或设想空间的范畴,从而惹起溢出。②局部测试空间和设想空间不足。当合法数据进入后,因为法式实现层内对应的测试空间或设想空间不足,导致法式处置时呈现溢出。

  这几种加密弱点是不平安的:①利用不平安的加密算法。加密算法强度不敷,一些加密算法以至能够用穷举法破解。②加密数据时暗码是由伪随机算法发生的,而发生伪随机数的方式具有缺陷,使暗码很容易被破解。③身份验证算法具有缺陷。④客户机和办事器时钟未同步,给攻击者足够的时间来破解暗码或点窜数据。⑤未对加密数据进行签名,导致攻击者能够窜改数据。所以,对于加密进行测试时,必需针对这些可能具有的加密弱点进行测试。

  一般环境下,错误处置城市前往一些消息给用户,前往的犯错消息可能会被恶意用户操纵来进行攻击,恶意用户可以或许通过度析前往的错误消息晓得下一步要若何做才能使攻击成功。若是错误处置时挪用了一些不应有的功能,那么错误处置的过程将被操纵。错误处置属于非常空间内的处置问题,非常空间内的处置要尽量简单,利用这条准绳来设想能够避免这个问题。但错误处置往往牵扯到易用性方面的问题,若是错误处置的提醒消息过于简单,用户可能会一头雾水,不晓得下一步该怎样操作。所以,在考虑错误处置的平安性的同时,需要和易用性一路进行衡量。

  若是付与过大的权限,就可能导致只要通俗用户权限的恶意用户操纵过大的权限做出风险平安的操作。例如没有对能操作的内容做出限制,就可能导致用户能够拜候超出划定范畴的其他资本。进行平安性测试时必需测试使用法式能否利用了过大的权限,重点要阐发在各类环境下该当有的权限,然后查抄现实中能否超出了给定的权限。权限过大问题素质上属于设想空间过大问题,所以在设想时要节制好设想空间,避免设想空间过大形成权限过大的问题。

  很多软件平安测试经验告诉我们,做好软件平安性测试的需要前提是:一是充实领会软件平安缝隙,二是评估平安风险,三是具有高效的软件平安测试手艺和东西。

  评估一个软件系统的平安程度,需要从设想、实现和摆设三个环节同时动手。我们先看一下Common Criteria是若何评估软件系统平安的。起首要确定软件产物对应的Protection Profile(PP)。一个PP定义了一类软件产物的平安特征模板。例如数据库的PP、防火墙的PP等。然后,按照PP再提出具体的平安功能需求,如用户的身份认证明现。最初,确定平安对象以及是若何满足对应的平安功能需求的。因而,一个平安软件的三个环节,哪个出问题都不可。

  当做完平安性测试后,软件能否可以或许达到预期的平安程度呢?这是平安性测试人员最关怀的问题,因而需要成立对测试后的平安性评估机制。一般从以下两个方面进行评估。①平安性缺陷数据评估。

  若是发觉软件的平安性缺陷和缝隙越多,可能遗留的缺陷也越多。进行这类评估时,必需成立基线数据作为参照,不然评估起来没有根据就无法获得准确的结论。②采用缝隙植入法来进行评估。缝隙植入法和靠得住性测试里的毛病插入测试是统一事理,只不外这里是在软件里插入一些有平安隐患的问题。采用缝隙植入法时,先让不加入平安测试的特定人员在软件中事后植入必然数量的缝隙,最初测试完后看有几多植入的缝隙被发觉,以此来评估软件的平安性测试做得能否充实。

  可利用专业的具有特定功能的平安扫描软件来寻找潜在的缝隙,将曾经发生的缺陷纳入缺陷库,然后通过主动化测试方式来利用主动化缺陷库进行轰炸测试。例如,利用一些可以或许模仿各类攻击的软件来进行测试。

  平安测试是用来验证集成在软件内的庇护机制能否可以或许在现实中庇护系统免受不法的侵入。一句通俗的话说:软件系统的平安当然必需可以或许经受住反面的攻击——可是它也必需可以或许经受住侧面的和背后的攻击。彩票白菜论坛彩票主管qq99彩票注册

(编辑:admin)
http://bbsformula.com/kaice/1632/