要理解什么是应用工厂,请考虑“多”这个词。应用工厂是一种多学科开发功能,旨在将业务的多个部分整合在一起,以创建多个项目。
无论是否集中式,应用工厂都有一些共同点。每个应用工厂都需要解决的主要共同点之一是质量保证。QA 团队确保每个项目(无论业务部门或学科)都符合组织的合规性、品牌和性能标准。
想知道如何在您的应用工厂中最好地实施 QA 吗?请借鉴我们的经验。 Mendix,我们经营自己的 Mendix App Factory。以下是我们如何进行 QA 的。
Mx AppFactory 是什么?
Mx AppFactory 是 Mendix 为以下应用构建 Mendix - Mendix因此,我们拥有多学科开发团队,为不同部门和利益相关者开展众多项目。 Mendix 和 Siemens.
关于质量团队
质量团队是一个跨职能加速器,有助于提高 Mx AppFactory 团队交付成果的质量。该团队于 2020 年 XNUMX 月成立,从一名成员发展到由四名质量专家组成的团队。该团队在工厂生产线上明确表示 “质量是整个团队的责任。” - 测试工程师 充当 质量专家 指导并推动团队的质量活动。
我们的使命
- 授权 AppFactory 团队提供一流的软件,并成为真正的质量大使 Mendix 及其客户。
我们如何推动我们的使命
我们使用下面的轮子来帮助我们确保 AppFactory 线路的质量。
质量评估
作为新项目准备工作的一部分,我们必须了解正在构建的产品的技术和功能方面。下一步是使用我们收集的信息评估项目并得出项目所需的质量活动。为了评估这些项目,我们定义了一个简单的清单,团队可以填写。答案将针对他们的项目需求和范围。
评估清单中的重点关注领域:
- 使用应用程序的最终用户/角色
- 项目持续时间
- 团队对领域和技术的了解
- 项目涉及的技术方面
- 应用程序中处理的数据类型和质量
- 应用程序的非功能方面(例如:性能、安全性等)
- 所有项目中常见的通用质量相关活动
评估结果被记录下来并用于项目的后续阶段。
品质策略
根据评估结果,制定了高水平质量策略,涵盖以下方面。
- 项目需要质量专家的支持
- 测试时需要考虑的角色
- 所需测试类型(API/Web/Native)
- 检查代码质量、安全漏洞等方面的工具
- 需要测试自动化工作
- 需要进行数据质量检查
- 需要非功能性测试(例如:性能、安全测试等)
- 需要进行一般测试
该质量策略是一份在项目生命周期内不断发展的动态文件。
代码质量工具
根据定义的策略,使用工具来监控和验证代码质量。质量专家协助这些工具的设置和实施。
以下是我们主要使用的工具:
- ACR – 自动代码审查工具 Mendix 工程
- 斯尼克 – 用于扫描依赖项(第三方库)的工具 Mendix 项目已知漏洞和可能的许可警告
- Veracode的 – 扫描工具 Mendix 风险和脆弱性识别代码
测试工程
作为质量策略的一部分,还定义了所需的测试类型和级别。有了这些输入,质量专家可以帮助在开发周期中设置和推动各种测试活动。
在故事定义和发展过程中
此阶段执行的一些活动包括:
- 改进故事以验证故事的可测试性并添加测试人员注释
- 审查团队开发的单元测试
- 审查和验证故事验收标准(一些团队也在 Jira X-Ray 中管理测试以供参考)
- 在将故事移至 完成
发布前验证
此阶段执行的一些活动包括:
- 验证发布中添加的所有功能是否端到端正常运行
- 验证现有功能不受影响(回归测试)
- 根据项目要求实施非功能测试(包括性能、渗透测试等)
- 确保满足发布的完成定义。
发布后验证和生产监控
团队在生产环境中设置了一些测试,以便在部署后验证应用程序。验证任务包括:
- 验证发布中添加的新功能在部署后是否正常运行
- 样本烟雾测试用于验证应用程序的核心功能是否按预期运行
另外还可以设置监控来检查:
- 应用程序使用
- 应用性能
- 应用质量
- 应用商业价值
测试自动化
测试自动化是根据项目的需要完成的。
- 对于涉及 REST API 的应用程序,测试在开发故事时是自动化的。
- 对于没有 API 的应用程序,核心功能测试在 UI 级别自动进行。仅当应用程序的 UI 经过手动测试且稳定(没有计划进行重大更改)时才建议这样做。
所有自动化测试均在 bitbucket 管道中执行。
我们用于测试自动化的工具/框架是:
- Postman 用于 API 测试自动化
- 用于 Web(UI 级别)测试自动化的 Robot 框架
追踪进度
质量活动的进度在仪表板中进行跟踪和监控。
最佳实践
根据团队成员从测试中获得的经验 Mendix 和其他应用程序,定义并记录最佳实践。
文件中提到的一些关键领域包括
- 团队精神追求品质
- 不同的测试类型
- 分支和测试策略 Mendix 应用
- 测试自动化最佳实践
持续改进
作为一个团队,我们相信通过回顾和深入讨论可以不断改进。我们经常与其他部门进行同步 Mendix 了解和交流工作方式的想法,并采取最适合 AppFactory 的方式。
挑战
上述实现也有其挑战。以下仅列举几个:
- 质量团队成员转变思维,成为质量专家而非传统的测试工程师
- 在整个团队中灌输“质量思维”。
- 由于没有低代码背景,质量专家需要了解如何 Mendix 开发应用程序是为了给团队提供更好的支持。
- 为没有测试或测试自动化经验的团队实施测试自动化。
关键外卖
根据我们迄今为止的经验,我们得出了一些关键结论:
- 首先了解团队的流程及其当前的质量活动(每个团队都有一个)
- 产品质量是团队的责任
- 根据团队的专业知识和工作方式选择工具
- 在故事和发布流程的完成定义中添加质量活动
- 最后但非常重要的一点是,建立质量需要耐心和毅力
欲了解更多详细信息和有疑问,请联系我: [电子邮件保护]