让我们获得SaaS测试开始:细节,范围和成功因素

Sciencesoft软件测试总监

发布:

由于SaaS提供商可以快速,轻松地将其软件迅速,可轻松地将其软件提供给世界各地的众多租户,因此令人惊讶的是,这并不奇怪,因为萨斯本地解决方案,仍然提供各种配置和定制机会,便于软件用户采用率。

Still, 30%的SaaS提供商由于高客户流失率,报告与SaaS解决方案的ROI不满意。为了使您的SaaS产品不断吸引租户,您应该确保其时尚的功能和可用性,一致的可靠性和安全性。这是彻底的Saas测试发挥作用的地方。虽然SaaS的主要测试类型与本地软件相同,但它们的优先级排序和实施具有某些特殊性。

在本文中,我们将分享多年来获得的专业知识软件测试实践在SaaS测试细节,范围和成功因素上脱光。

SaaS测试

SaaS细节

无论你是谁只打算开发您的SaaS应用程序现在开始使用它或已经通过云提供软件 - 现在 - 连续测试是相关的。可预见的是,您之前从SaaS测试开始,更好。尽管如此,如果在客户解决方案的ROI和客户中造成的性能,功能,回归或安全问题已经造成损害,则适当的测试策略可以帮助您在未来避免避免特定于SAAS特定问题。

以下是一些SaaS细节,应确定您在解决方案开发和实施的不同阶段进行测试的方法

前释放前所有问题

可扩展的云资源消耗.租户主要欣赏SaaS的能力,以便快速,轻松地向上和向下扩展用户数量。为此,许多SaaS提供商使用自动缩放的云工具。此类工具可帮助您通过仅在需要时启动云资源并立即终止它们来节省资金,但仅在它们的运行是健康的情况下,缩放设置是最佳的。简单只是您利用这种自动缩放工具的事实不会使您免受云资源消耗的非最佳花费。

释放后关注

频繁和快速的软件更新,升级和错误修复.使用SaaS,新功能每月释放一次或至少几次。此外,您应该迅速反应并快速修复租户检测到的所有软件缺陷,因为SaaS订阅者期望报告的错误在几个小时内修复,或者在最糟糕的情况下,日子。因此,您的测试团队可以轻松地陷入僵化的测试截止日期与测试用例的雪崩验证,以验证新功能的顺利运行和基本SAAS功能的完整功能,并在修改和错误修复后。

在释放之前和释放后的担忧

多租户。多租户架构在SaaS提供商中非常受欢迎,因为它简化了软件维护,并且有助于通过不同的SaaS订阅者重用相同的云资源而节省金融。尽管如此,多租赁可能会造成严重问题。

在预部署阶段,确保租户敏感的业务数据无法在不同的SaaS订阅者中共享至关重要,他们的用户不能拥有不合适的权限。否则,您可能会承担租户业务数据泄漏造成的重大费用和几乎无法衡量的声誉损失。

部署后,随着租户的数量和多样性成长,您可能面临其他一些并发症。例如,您可能需要提高APIS的灵活性,以满足新租户的集成需求,或者使您的SaaS解决方案与现代Web浏览器兼容新用户可能更愿意。未能使SaaS解决方案适应不同的租户的实际要求将导致低用户采用率。

配置和定制机会.这些选项有助于租户将统一的SaaS解决方案调整到他们的特定业务逻辑。但是,如果您的配置和定制机会或其细节组合在他们应该的方式运作,则应准备越来越高的流失率。

此外,在SaaS解决方案可用于租户之后,它们提出了实际配置和自定义,后来也可以通过持续的错误修复和解决方案的常规修正案来容易地损坏。因此,您的租户可能会在其思想和复杂的配置和自定义在错误修复或更新后崩溃后退出您的软件。

SaaS测试范围

不要让SaaS细节转化为燃烧问题,试验率应制定全面均衡的测试计划。测试计划应包括仍然关于SaaS细节的本地解决方案所需的所有测试类型。

功能测试。 此测试类型通常包括构建验证,组件的集成和系统测试,并占据了大部分预发布测试时间。但随着SaaS解决方案,它变得更加全面,因为它不仅可以验证解决方案的默认功能,而且还验证,还有许多配置和定制机会以及最可预测的用例。

性能测试.在发布多租户SaaS解决方案之前,测试团队应验证它支持所需数量的同时用户。此外,他们应该验证软件响应时间,内存和CPU利用率是否直到解决方案的要求。测试工程师还检查解决方案在预期,应力和连续负载下的正常功能。此外,在验证您的自动缩放工具的正确功能和调整的测试用例不应错过 性能测试活动.

兼容性测试。SaaS模型预先提出了在您的租户的不同网络浏览器中完全正常运行的解决方案。因此,需要跨浏览器兼容性测试。同时,设计和测试SaaS解决方案,使其与所有可能的浏览器完全兼容,其版本似乎几乎无法可行。要提出一个适当的浏览器列表,该浏览器将包括您的SaaS产品的目标环境,BAS应考虑以下信息:用户统计信息是什么浏览器及其版本是最流行的新发布的浏览器,以及基于同一内核的浏览器(与它们一起,您不需要单独测试每个浏览器)。

外部API测试.API测试与发布前和释放后的SAAS测试相关。它检查您的解决方案是否将与租户的其余企业软件或其他第三方应用程序顺利集成。在执行API测试时,测试团队验证API'输入和输出参数的正确性,预期的响应时间,并且引入到API的更改不会导致SAAS解决方案的一般故障。当您的SaaS解决方案发布时,测试团队重新检查APIS在引入的更改后重新检查API的功能是一个很好的做法。

可用性测试.为您的SaaS解决方案贡献更高的注册和客户保留率,其可用性永远不应该被忽视。在可用性测试期间,测试团队验证UI元素,内容布局和使用步骤数的逻辑且方便的排列。测试工程师可以依赖传统的可用性标准和指标,例如ISO 9241-210:2010。但对于SaaS可用性测试最有益,UX专家和BAS还可以进行量身定制的UX研究,包括您当前和潜在客户的特定需求和偏好以及竞争对手提供的UX水平。

安全测试.SaaS安全测试应包括许多不同的测试活动。首先,多租户SaaS解决方案需要对您和客户的基于角色的访问控制验证,以确保其敏感的业务数据被安全地保存并可用于适当的用户。其次,SaaS安全测试应检查软件是否对DOS和XSS攻击,SQL注入以及其数据和Cookie加密和解密功能是否正确。这种方式,应用了脆弱性评估和渗透测试。具有全面安全测试的结果,您可以将工作流程符合OWASP推荐和GDPR要求。

备份和恢复测试.这种常见问题作为连接丢失,服务器或软件崩溃,软件迁移问题,非最优软件更新或租户的自定义可以使您和您的租户转向软件备份副本以回滚到以前的版本并还原数据。根据相关的灾难恢复策略,应在软件释放之前和之后进行备份和灾难恢复测试(至少每年)。

回归测试.SaaS回归测试往往是复杂且耗时的。回归测试包括验证可能受软件更改影响的功能,性能,可用性,兼容性和安全功能的测试用例。应验证核心SaaS功能和众多租户的配置和自定义。仍然,定期回归测试毕竟更新,错误修复和软件迁移是最严重的贡献,对SaaS解决方案的一致质量,稳定的性能和不间断的功能。

SaaS测试成功因素

让我们看看有什么可以帮助您的测试导致开发思想和全面的SaaS测试策略,并计划解决潜在的SaaS问题,并涵盖所有所需的测试类型。

连续集成/连续递送(CI / CD)方法.如果您的SaaS解决方案尚未生存,则转向软件开发的CI / CD方法是一个很好的做法。它允许经常和小部分地交付软件功能和修改。通过CI / CD方法,在SaaS解决方案的测试期间,可以找到更高数量的错误。据“早期发布,经常释放“概念,如果公司提出频繁和小的发布,则缺陷泄漏进入生产阶段。为此的原因是CI / CD方法预设了连续的功能测试和全包回归测试,这是软件生命周期的一个组成部分。

基于风险的测试。为确保SaaS测试为您的业务需求工作,测试团队可以转向基于风险的测试。根据这一概念,测试案例,用于验证对租户最关键的软件功能,其中最有可能出现错误,并且可能的缺陷可能导致最大的损坏和金融损失(如数据泄漏,损坏或丢失)被视为首要任务。这样,对业务最关键的功能不太可能从SaaS测试范围中错过。

测试自动化.手动和自动化测试之间的平衡比率可以帮助测试团队提供足够的测试覆盖,满足严格的迭代截止日期,并在更新和错误修复后快速验证关键软件功能。结果,您可以实现最佳的测试ROI。可重复,长时间运行和数据密集型测试是测试自动化的理想选择。因此,可以自动化性能和跨浏览器测试,以及一些回归和API测试用例和漏洞评估。但是,可用性,渗透率,备份和恢复测试,以及解决方案的新功能的验证应该保持手册。

适当的测试环境.为了最大限度地减少错过错误的数量,应在暂存环境中进行SaaS测试。暂存环境允许测试团队完全验证软件功能,安全性,恢复和性能,同时保留完整的生产环境。

服务虚拟化。系统的不同外部依赖组件(如租户的企业软件或数据库),每次与正在测试的SAAS解决方案的集成验证时都无法达到。因此,当外部系统组件无法访问时,可以为手动和自动端到端测试模拟依赖关系以平稳地运行。这有助于暂停SaaS测试并跟上迭代截止日期。服务虚拟化与验证可能的配置和自定义的API,性能和功能测试特别相关。

SaaS测试外卖

SaaS测试是一个连续的过程,其目的不是在预发布错误检测中,而是解决方案的持续改进和可持续运行。 SaaS测试范围包括基本测试类型同样对本地解决方案相关,例如功能,性能,可用性,兼容性,回归测试等。尽管如此,应对这些测试类型进行实施 SaaS细节,如可扩展云资源消耗,t他需要定期并快速更新解决方案,越来越多的多个租户所引入的自定义和配置。最后,CI / CD方法, 基于风险的测试,一个相关分期环境, 服务虚拟化,而最佳测试自动化可以帮助您正确设置SaaS测试过程。

32. 多年的测试经验,我们将帮助您确保您的SaaS解决方案的可持续运作。