📜  系统测试

📅  最后修改于: 2021-01-10 16:02:11             🧑  作者: Mango

系统测试

系统测试包括对完全集成的软件系统的测试。通常,计算机系统是由软件集成而成的(任何软件只是计算机系统的单个元素)。该软件以单元形式开发,然后与其他软件和硬件连接以创建完整的计算机系统。换句话说,计算机系统由一组用于执行各种任务的软件组成,但是只有软件无法执行任务。该软件必须与兼容的硬件接口。系统测试是一系列不同类型的测试,目的是根据要求练习和检查集成软件计算机系统的全部功能。

以用户身份检查应用程序或软件的端到端流程称为系统测试。在此,我们导航(浏览)应用程序的所有必要模块,并检查最终功能或最终业务是否工作正常,并测试整个产品系统。

这是端到端测试,其中测试环境类似于生产环境。

验收测试,全部用于测试目的。用于测试单个软件的单元测试;集成测试用于测试一组软件单元,系统测试用于测试整个系统,验收测试用于测试业务需求的可接受性。在这里,我们讨论系统测试,这是测试级别的第三级。

测试等级层次

主要有两种广泛使用的软件测试方法,一种是白盒测试,它使用内部编码来设计测试用例,另一种是黑盒测试,它使用GUI或用户角度来开发测试用例。

  • 白盒测试
  • 黑匣子测试

系统测试属于黑盒测试,因为它包括软件外部工作的测试。测试遵循用户的观点,以识别较小的缺陷。

系统测试包括以下步骤。

  • 验证应用程序的输入功能,以测试其是否产生预期的输出。
  • 通过包括外围设备来测试集成软件,以检查各种组件之间的交互。
  • 测试整个系统以进行端到端测试。
  • 通过用户体验对应用程序进行行为测试

系统测试示例

假设我们打开一个应用程序,假设为www.rediff.com ,我们可以看到在首页顶部显示了一个广告,该广告在其中停留了几秒钟,然后消失了。这些类型的广告由广告管理系统(AMS)完成。现在,我们将对该类型的字段执行系统测试。

以下应用程序以以下方式工作:

  • 假设亚马逊希望在1月26日正好10:00 AM在Rediff的印度国家首页上展示促销广告。
  • 然后,销售经理登录该网站并创建日期为前一天的广告请求。
  • 他/她附加了可能是AD的图像文件或视频文件并应用的文件。
  • 第二天,Rediffmail的AMS管理员登录到该应用程序,并验证等待的广告请求。
  • AMS经理将检查那些亚马逊广告请求是否未决,然后他/她将检查特定日期和时间是否有可用空间。
  • 如果有空间,则他/她将投放广告的费用估算为每秒15 $,而10秒钟的总体广告费用约为150 $。
  • AMS管理器单击付款请求,并将估算值与付款请求一起发送给亚马逊管理器。
  • 然后,亚马逊经理登录到广告状态并确认付款请求,他/她根据所有详细信息进行付款,然后单击“提交付款”
  • Rediff的AM经理一获得金额,他/她便会在Rediffmail的主页上为特定日期和时间设置广告。

各种系统测试方案如下:

方案1:如上所述,第一个测试是一般方案。测试工程师将针对潜在情况进行系统测试,在这种情况下,Amazon经理会创建广告请求,并在特定日期和时间使用该广告。

场景2:假设Amazon经理认为AD空间太昂贵并取消了该请求。同时,Flipkart在1月26日上午10:00请求广告空间。然后,亚马逊的请求已被取消。因此,必须在1月26日上午10点安排Flipkart的促销广告。

毕竟,已经完成了请求和付款。现在,如果亚马逊改变了主意,并且他们认为他们准备好在1月26日上午10点付款,则应付款,因为Flipkart已经使用了该空间。因此,必须打开另一个日历以供Amazon进行预订。

方案3:在这种情况下,首先,我们以AMS管理员身份登录,然后单击“设置价格”页面,然后在注销页面上将AD空间的价格设置为每秒10 $。

然后以Amazon Manager身份登录,然后选择要发布的日期和时间,并在注销页面上选择广告。在Rediffmail注销页面上,广告的10秒钟内应支付100美元。


注意:通常,每个测试工程师仅在其分配的模块上执行功能,集成和系统测试。

如下图所示,我们有三个不同的模块,例如Loans,Sales和Overdraft 。这些模块将仅由其指派的测试工程师进行测试,因为如果数据在这些模块或场景之间流动,那么我们需要清除该模块正在哪个模块中,并且测试工程师应检查该事物。

让我们假设在这里,我们正在对利息估算执行系统测试,在此情况下,客户第一次和第二次都进行透支。

在此特定示例中,我们具有以下情形:

场景1

  • 首先,我们将以用户身份登录;让我们看一下P,然后申请透支Rs15000,单击“申请”,然后注销。
  • 之后,我们将以管理员身份登录并批准P透支,然后注销。
  • 再次,我们将以P身份登录并检查透支余额; Rs15000应该存入并注销。
  • 将服务器日期修改为未来30天。
  • 以P身份登录,检查透支余额为15000+ 300 + 200 = 15500,然后注销
  • 以管理员身份登录,单击“存款”,然后存款Rs500,然后注销。
  • 以P身份登录,偿还透支额,并检查透支余额(零卢比)。
  • 提前申请透支两个月的薪水。
  • 经经理批准,第一次将有信用额度和利息存入手续费。
  • 登录用户→主页[贷款,销售,透支]→透支页[透支额,申请透支,还款透支]→申请
  • 登录管理器→主页[贷款,销售,透支]→透支页[透支额,申请透支,偿还透支,批准透支]→批准页→批准应用程序。
  • 以用户身份登录P→主页[贷款,销售,透支]→透支页[透支额,申请透支,还款透支]→批准透支→透支额
  • 以用户身份登录P→主页[贷款,销售,透支]→透支页[透支额,申请透支,还款透支]→还款透支→手续费+利息金额。

方案2

现在,我们测试银行提供要约的另一种情况,该情况表明,第一次将Rs45000作为透支的客户将不收取手续费。当客户第三次选择另一笔透支时,将不退还手续费。

我们必须测试第三种情况,即客户第一次接受透支Rs45000,并且还要验证透支是否在第三次申请另一笔透支后偿还余额。

场景3

在此,我们将反映出该应用程序已被所有客户普遍使用,突然,银行决定将新客户的处理费降低至100卢比,并且我们已经测试了针对新客户的透支并检查其是否接受仅售Rs100。

但是随后我们在要求中产生了冲突,假设客户以当前透支费Rs200申请了透支透支的Rs15000。在经理尚未批准之前,银行将处理费降低至100卢比。

现在,我们必须测试未决客户的透支费用是多少。测试团队无法承担任何责任。他们需要与业务分析师或客户进行沟通,并在这种情况下找出他们想要的东西。

因此,如果客户提供第一组要求,我们必须提出最大可能的方案。

系统测试的类型

系统测试分为50多种类型,但是软件测试公司通常会使用其中的一些类型。这些在下面列出:

回归测试

回归测试是在系统测试下执行的,以确认并确定由于系统其他任何部分的修改而导致系统中是否存在任何缺陷。它可以确保在开发过程中所做的任何更改都不会带来新的缺陷,并且可以保证。随着时间的推移,新软件的添加将不再存在旧的缺陷。

有关回归测试的更多信息,请参见以下链接:

https://www.javatpoint.com/regression-testing

负载测试

负载测试是在系统测试下执行的,目的是弄清系统是否可以在实时负载下工作。

功能测试

执行系统功能测试以发现系统中是否缺少任何函数。测试器列出了系统中应该存在的重要功能列表,可以在功能测试期间添加这些功能,这些功能应该可以提高系统质量。

恢复测试

系统恢复测试是在系统测试下进行的,以确认系统的可靠性,可信赖性,责任制,而所有这些都取决于系统的恢复能力。它应该能够成功地从所有可能的系统崩溃中恢复。

在此测试中,我们将测试应用程序以检查其从崩溃或灾难中恢复的程度。

恢复测试包含以下步骤:

  • 每当软件崩溃时,它都不会消失,而应该在提及崩溃原因的地方写出崩溃日志消息或错误日志消息。例如C:// Program Files / QTP / Cresh.log
  • 它应该在消失之前杀死自己的程序。就像在Windows中一样,我们有任务管理器来显示正在运行的进程。
  • 我们将介绍该错误并使应用程序崩溃,这意味着有人会带领我们了解应用程序崩溃的方式和时间。或者,根据经验,在投入使用产品几个月后,我们可以了解应用程序崩溃的方式和时间。
  • 重新打开应用程序;必须使用较早的设置重新打开该应用程序。

例如:假设我们使用的是Google Chrome浏览器,如果电源关闭,那么我们打开系统并重新打开Google chrome,会收到一条消息,询问我们是否要启动新会话恢复以前的会话会议。对于任何开发的产品,开发人员都会编写一个恢复程序,该程序描述为什么软件或应用程序崩溃,是否写入崩溃日志消息等。

迁移测试

执行迁移测试以确保是否需要在新的基础结构中修改系统,因此应毫无问题地对其进行修改。

可用性测试

该测试的目的是确保系统对用户非常熟悉,并符合其应做的目标。

有关可用性测试的更多信息,请参见以下链接:

https://www.javatpoint.com/usability-testing

软件和硬件测试

该系统测试旨在检查软件兼容性。硬件配置必须与软件兼容才能运行它。兼容性通过提供硬件和软件之间的交互来提供灵活性。

为什么系统测试很重要?

  • 系统测试涵盖了系统的端到端函数,因此可以百分百保证系统性能。
  • 它包括对系统软件体系结构和业务需求的测试。
  • 即使在生产后,它也有助于缓解实时问题和错误。
  • 系统测试使用现有系统和新系统在两者中提供相同的数据,然后比较添加功能和现有功能的功能差异,以便用户了解系统新增功能的好处。

测试任何应用程序

在这里,我们将测试Gmail应用程序,以了解功能,集成和系统测试的工作方式。

假设我们必须测试各种模块,例如登录,撰写,草稿,收件箱,已发送邮件,垃圾邮件,聊天,帮助, Gmail应用程序注销。

我们首先对所有模块进行功能测试,然后才可以执行集成测试和系统测试。

在功能测试中,至少我们有一个模块来执行功能测试。因此,这里有执行功能测试的撰写模块。

撰写

撰写模块的不同组件是收件人,抄送,密件抄送,主题,附件,正文,已发送,保存到草稿,关闭。

  • 首先,我们将在To上进行功能测试
Input Results
Positive inputs
mike@gmail.com Accept
Mike12@gmail.com Accept
Mike@yahoo.com Accept
Negative inputs
Mike@yahoocom Error
Mike@yaho.com Error
  • 对于CCBCC组件,我们将使用与To组件相同的输入。
  • 对于主题组件,我们将采用以下输入和方案:
Input Results
Positive inputs
Enter maximum character Accept
Enter Minimum character Accept
Blank Space Accept
URL Accept
Copy & Paste Accept
Negative inputs
Crossed maximum digits Error
Paste images / video / audio Error
  • 最大字符
  • 最小字符
  • Flash文件(GIF)
  • 微笑
  • 格式
  • 空白
  • 复制粘贴
  • 超连结
  • 签名
  • 对于附件组件,我们将利用以下方案的帮助进行测试。
    • 档案大小上限
    • 不同的文件格式
    • 文件总数
    • 同时附加多个文件
    • 拖放
    • 没有附件
    • 删除附件
    • 取消上传
    • 查看附件
    • 浏览器的不同位置
    • 附加打开的文件
  • 对于“已发送”组件,我们将填写整个字段,然后单击“已发送”按钮和“确认”消息;必须显示成功发送的消息。
  • 对于“保存到草稿”组件,我们将填写整个字段,然后单击aved to drafts ,然后必须显示确认消息。
  • 对于“取消”组件,我们将编写所有字段并单击“取消”按钮,然后将关闭或移动窗口以保存到草稿中,或者必须刷新所有字段。

完成对撰写模块的功能测试后,我们将对Gmail应用程序的各个模块进行集成测试:

登录

  • 首先,我们将输入用户名和密码以登录到该应用程序,然后在主页上检查用户名。

撰写

  • 撰写邮件,发送并检查已发送邮件[发送者]中的邮件
  • 撰写邮件,发送并检查收件人中的邮件[收件箱]
  • 撰写邮件,发送并自行检查邮件[收件箱]
  • 撰写邮件,单击另存为草稿,然后签入发件人草稿。
  • 撰写邮件,发送无效的ID(有效格式),然后检查未送达的邮件。
  • 撰写邮件,关闭并检入草稿。

收件箱

  • 选择邮件,回复并签入已发送的邮件或收件人的收件箱。
  • 在收件箱中选择要答复的邮件,另存为草稿并签入草稿。
  • 选择邮件,然后将其删除,然后检入垃圾箱。

发送项目

  • 选择邮件,已发送邮件,回复或转发,然后签入已发送邮件或收件人收件箱。
  • 选择邮件,已发送邮件,答复或转发,另存为草稿,然后在草稿中进行验证。
  • 选择邮件,将其删除,然后检查垃圾箱。

草案

  • 选择电子邮件草稿,转发并选中已发送邮件或收件箱。
  • 选择电子邮件草稿,在“废纸rash”中删除并验证。

聊天室

  • 与保存在收件人收件箱中的离线用户聊天。
  • 与用户聊天并在聊天窗口中进行验证。
  • 与用户聊天并签入聊天记录。

注意:在测试期间,我们需要等待特定的时间,因为只有在所有模块准备就绪并执行功能和集成测试后才能执行系统测试。