计算机软件

测试程序 - 在软件产品差错检测处理

在软件开发,生产过程中的显著部分是基于软件测试。 这是什么,以及如何为这样的活动将在本文中讨论。

所谓的测试?

这通过运行软件来检测代码不正确操作的位置指的是过程。 为获得最佳效果,故意构造难以组输入数据。 检查的主要目的是创建失败的最佳时机 的软件。 虽然有时测试开发的程序可以被简化为工作能力的例行检查和执行的功能。 这样可以节省时间,但往往伴随着软件的不可靠性,用户的不满,等等。

效用

如何又快又好错误,对成本影响显著和软件开发所需的质量的持续时间。 所以,尽管测试人员领取工资比小开发商好几次这样的事实,他们的服务的成本通常高达30 - 整个项目成本的40%。 这是由于工作人员的数量,因为这一错误的搜索 - 这是一个不寻常的,相当艰难的过程。 但是,即使该软件传递的测试,一个可敬的数量,没有100%的保证,这不会发生错误。 刚发生时不知道。 为了鼓励测试者选择类型的更容易找到故障测试,不同的动机工具使用:包括精神和物质。

对待工作

最好的方法是当实现各种机制,以确保软件中的错误并没有从一开始。 要做到这一点,你必须要小心适当的架构设计,明确的职权范围,并没有把通信,调整时,该项目的工作已经开始是很重要的。 在这种情况下,测试器寻找和鉴定小数量保留在最终结果的错误的任务。 这将节省时间和金钱。

什么是考试?

这是检查活动的一个重要方面,这是必要的成功检测的代码的缺陷。 他们是必要的,以便控制的正确应用。 什么是包括在测试? 它由其中应作为所得到的(或中间体)而得到的数据和它们的初始值的。 为了成功地发现问题和矛盾,测试后应算法的开发,但没有开始编程。 理想的是使用几种方法来估计所需的数据。 在这种情况下,增加的检测误差,因为你可以检查从不同的角度的代码的可能性。 复杂的测试必须提供的成品软件产品的外部影响,以及他的工作的算法验证。 特别感兴趣的,并提供边际退化情况。 因此,在错误的做法往往能揭示出周期少于计划的一次或多次操作。 同样重要的是电脑检测,通过它你可以验证在不同的机器所需的结果。 这是必要的,以确保该软件将在所有计算机上运行。 此外,电脑测试,对其中的发展将进行,是在创建多平台发展的重要。

故障排除艺术

计划往往瞄准巨大的数据集工作。 是否有必要完全建立? 号 普遍取得的节目的“小型化”的做法。 在这种情况下相比与将要使用有数据量的一个合理的减少。 让我们来看一个例子:有一个程序,它创建大小50×50的矩阵。 换句话说 - 你必须手动输入2500倍的值。 这当然是可能的,但还需要一个很长的时间。 但为了测试功能,该软件接收一个矩阵,其尺寸为5×5。 要做到这一点,你需要输入超过25倍的值。 如果在这种情况下,一个正常,无故障运行,这意味着一切都井然有序。 虽然有位于与小型化的情况发生,造成的变化变得含蓄而暂时消失的事实陷阱。 这也是非常罕见的,但仍然发生是有新的bug。

追求的目标

测试是不是一件容易的任务,因为这样的事实,这个过程是不适合将其全部以形式化。 大型程序几乎从来没有必要的准确的基准。 因此,采用多项间接数据,其中,但是,并不能完全反映调试软件开发的特点和功能的指南。 此外,他们应该选择正确的结果之前,如何对软件产品进行测试计算。 如果你不前进,人们很容易将考虑所有有关的,如果机器的结果在预期范围内获得,它会做出一个错误的决定,这一切都是正确的。

检查在不同条件下

作为一项规则,程序测试发生在所必需的最小测试功能在有限程度上卷。 随着参数的变化,以及他们的工作条件下进行活动。 测试过程可以分为三个阶段:

  • 检查在正常情况下。 在这种情况下,我们测试所开发软件的基本功能。 结果必须符合预期。
  • 检查在极端条件下。 在这种情况下,与边界的数据,它可以创建软件的性能产生不利影响的代名词。 作为一个例子,我们有一个非常大的或小的数字,甚至完全不存在的信息接收工作。
  • 检查在特殊情况下。 它涉及超出处理数据的使用。 在这种情况下,这是非常不好的时候软件感知它们作为有用的计算并给出一个合理的结果。 必须小心,在这种情况下,有一个排斥,不能正确地处理的任何数据。 也有必要提供通知用户其

测试:类型

没有错误创建软件是非常困难的。 这需要一个相当长的时间。 为了得到一个好的产品往往使用两种类型的测试:“阿尔法”和“贝塔”。 它们是什么? 当人们谈论的alpha测试,这意味着审查中的发展“实验室”条件的状态下进行自己。 这是测试的最后阶段之前的计划将被转移到最终用户。 因此,开发商正试图掉头最大。 为了便于操作,可将数据记录到创造的问题及其解决方案的年表。 在beta测试,了解软件用户的数量有限的供应,使他们可以利用该程序,并确定你已经错过了错误。 在这种情况下,一个特点是经常的软件不能用于其预期目的的事实。 因为这种故障将被确定那里是没有见过。 这是很正常的,担心是没有必要的。

测试完成

如果前面的步骤成功完成,但仍然进行验收测试。 他在这种情况下流于形式。 在这个测试来确认是否有额外的问题已经发现和软件可以在市场上发行。 最重要的将是最终的结果,更紧密地应进行验证。 应小心,以确保所有步骤已经成功完成。 下面是测试过程作为一个整体。 现在,让我们深入的技术细节和谈论这样一个有用的工具,作为测试程序。 它们是什么,在使用时?

计算机辅助测试

以前人们认为开发的软件的动态分析 - 它是有效地用于检测缺陷过重的方法。 但由于程序的日益复杂和数量出现了相反的观点。 自动化测试使用,其中最重要的优先事项是效率和安全性。 而且应该在任何输入。 作为一个例子,对于其合适的是这样的测试程序,包括以下情况:网络协议,网络服务器,沙盒。 我们继续看几个样本,它可以用来进行此类活动。 如果你有兴趣的免费检测项目,质量难以其中找到。 但也有破解了完善的项目“盗版”版本,所以你可以参考他们的服务。

雪崩

此工具可帮助检测缺陷的测试在动态分析模式的程序。 它收集数据和分析轨道设计对象的性能。 该测试仪中给出了一组引起错误或绕过现有的约束集的输入。 由于有大量的可能的情况下开发的算法的一个很好的测试。 程序接收一组不同的输入数据,其允许模拟大量的情况下,并创建在其中最有可能的是一个故障的发生状况的。 该计划的一个重要优点是使用启发式度量。 如果有问题,那么应用程序错误的可能性非常大。 但是,这种方案有可能,如只有一个检查标记输入插座或文件的限制。 当执行一个操作,例如测试计划将包含与空指针由于使用图书馆的问题,无限循环,不正确的地址或故障的详细信息。 当然,这是没有检测到错误,他们唯一的共同实例的完整列表。 校正缺陷,唉,具有开发者 - 自动装置不适合于这些目的。

KLEE

它是用于测试内存的好节目。 它可以拦截约50的系统调用和大量因而并行地或单独执行的虚拟过程。 但在一般情况下,程序是不是找了一些可疑的地方,并处理代码的最大可能的量和分析利用数据路径。 正因为如此,测试程序取决于物体的大小。 当检查赌注被放置在象征性的过程。 他们是可能的方法在测试程序执行的任务之一。 由于并行操作,可以分析大量的测试应用工作的变种。 用于输入数据集的每个路径的测试,其与被检查开始之后被存储。 应当注意的是,使用KLEE测试程序有助于识别大量的变化,这不应该的。 它可以发现,即使在那些数十年开发的应用程序的问题。

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 zhcn.delachieve.com. Theme powered by WordPress.