|
我们的目标是谈论一些有关任何执行此测试的策略。这仍然是测试过程中创建高可靠性和可用系统的总体策略的一部分。记住需要执行缺陷预防才能实现此目标。我们还必须能够检测缺陷并从缺陷中恢复。先不管软件也不考虑其他系统测试人员。
假设你是福特或通用汽车的系统测试人员。如果你要测试汽车,或完成常规类型的功能测试,确保汽车的所有功能正常运行,执行性性能测试、压力测试等操作。汽车也有能力检测失效。
对于引擎,我需要假设引擎和引擎控制非常复杂,显然它们可以检测到失效。敢肯定出现了燃油流量等问题,引擎能够从这些问题中恢复,还有其他问题也会导致此失效。作为汽车工程师,你需要进行测试。必须能够检测到此失效并进行测试。
目标是检测到错误类型,并恢复以及服务检测
系统的总体可靠性和可用性,意味着无论是汽车还是软件,都必须具备检测和恢复能力。考虑你需要能够检测到用户错误并从错误中恢复的计算机系统。这些内容都属于黑盒测试。确保我们具有无效类型的输入,它们可能会被系统拒绝。但我们的许多系统还必须能够检测到这些输入,我们的软件需要能够检测到我们有硬件问题。我们想要尝试通信的一些设备没有响应,我们将检测该问题,然后从问题中恢复。我们将于外部软件、外部服务以及可能的內部软件交互。
当我们构建高可靠性、高可用性系统时,我们在体系结构和设计模式中构建了检测这些类型的失效和从失效中恢复的能力,这一点很重要。这是体系结构和设计内容,这不是课程的主题。
系统的总体可靠性和可用性取决于系统检测各种失效和从失效中恢复的能力
--用户
--硬件
--软件
--其他系统
我将走到一个轮胎前,将轮胎中的空气排出,然后测试系统,确保系统可以检测到问题,如果能够恢复,我现在肯定不需要,现在只是检测错误,如果有恢复需求,则能够从问题中恢复。同样的,针对引擎我将从系统中排出冷却剂,查看它是否可以检测到冷却剂或燃油不足的问题。通常将注入失效并查看系统是否可以检测到失效并从中恢复。
在软件领域中也是如此。如果我们要执行此形式的测试错误检测和恢复测试,我们必须具有将失效注入系统中的能力。这一切都取决于最初是否具有某种类型的错误列表,指示我们实际上需要从什么类型的软件、硬件用户错误中恢复。
我们期望系统从错误中恢复吗?如果没有该列表,这就像我们的所有测试一样。我们针对需求和目标进行测试。在此用例中,我们对系统有错误检测和恢复需求。系统需要能够检测硬件失效,还需要能够检测用户失效。作为测试人员,我需要了解要恢复和检测的失效类型和错误类型是什么。
正如所指出的这些内容,了解这内容后,一般的测试方法就是作为测试人员,我将如何生成此失效?并不是说这很简单,我的意思是这可能是复杂的设计、复杂的测试设计,你需要能够创建这些失效,具有可见性以确保系统检测到它们,并且在大多数用例中,能够根据需求从失效中恢复。
错误检测和回复检测
--具有这样一个列表非常重要,它列出需求中指定的要恢复的错误
--一般的测试方法都包括错误注入
另一方面,我们谈论错误检测和恢复,但许多系统还具有服务能力需求,我们需要确保满足服务能力需求。我们可能购买自己的设备,但通常会租赁设备。我们可能会从别人那里租赁3D打印机或者任何打印机或复印机,作为租赁协议的一部分,我们支付租金,它们承诺提供服务。这意味着,如果我的3D打印机不工作,我将致电他们并请求维修服务,在一周后维修还是当天维修取决于我们签订协议和合同等内容。
任何特定产品以及我们的一些产品实际上可能有服务能力需求,在3D打印机的上下文中,我们可能会说你需要在4小时内修复此问题或向我们提供一个解决方法。确认服务能力包括许多问题。你必须能够报告问题、隔离问题、纠正问题、验证和修复发布,在给定时间内执行所有这些操作。、
服务能力,用户所能忍受的服务停止时间—即系统从错误中恢复的时间
如果客户选择你喜欢的应用程序,可能是一个网站,也可能是一个通信系统,你的服务能力需求是,此网站不能宕机超过30分钟,此通信设备不能宕机超过10分钟。你需要这样的方式来构建软件,使之能够容易地再现问题、隔离问题,还需要有一个非常强大的开发应用过程,该过程允许你隔离问题,获取正确的修复,测试修复回归,测试修复,最终将某些内容重新部署到领域,再给定时间内完成所有操作。
服务能力测试:
n 对系统可用性很重要
n 目标是验证是否满足服务能力需求
n 服务能力包括问题报告、隔离、纠正、验证和修复发布的所有方面
n 一般的测试方法是注入失效和评估响应
总而言之高可靠性、高可靠性非常重要。一直在强调缺陷预防,这并不是本课程的主题。我们必须具有良好的容错能力。这就是在创建体系结构,使你能够检测到问题,快速从问题中恢复,我们需要发挥测试方法地作用。当我们谈论错误检测和恢复以及服务能力时,我们地策略是必需知道目标对象是什么,要实现什么目标,尤其是我们需要能够检测哪些类型的失效,需要能够从哪些类型失效中恢复,在此基础上提出一个简单地错误检测、恢复能力测试的策略,这可能是测试人员最难掌握的一个工作。 |
|