“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第2篇文章,点击查看活动详情
实际测试过程是如何在公司环境中进行的?
那些刚从大学毕业并开始寻找工作的人通常对公司的实际工作环境有这种好奇心。
每当我们获得任何新项目时,都会举行最初的项目熟悉会议。在本次会议中,我们基本上讨论了诸如谁是客户,项目持续时间是多少以及何时交付,谁参与项目,即经理,技术主管,QA主管,开发人员,测试人员等。
然后从SRS(软件需求规范)中制定项目计划。测试人员的责任是从此SRS和项目计划创建软件测试计划。开发人员从设计文档开始编码。项目工作分为不同的模块,这些项目模块分布在开发人员之间。
同时,测试人员的职责是创建测试场景并根据分配的模块编写测试用例。我们尝试涵盖 SRS 文档中的几乎所有功能测试用例。测试用例在测试管理工具中维护。
当开发人员完成单个模块时,这些模块将分配给测试人员进行验证。在这些模块上执行冒烟测试,如果测试失败,模块将重新分配给相应的开发人员以修复缺陷。对于通过冒烟测试的模块,从书面测试用例进行手动测试。所有错误都记录在错误跟踪系统中,分类团队将这些错误分配给各自的开发人员进行修复。在错误修复后,测试人员会对所有相关模块进行错误验证和回归测试。如果 Bug 通过验证,则会将其标记为已验证并关闭。否则,上面提到的错误周期会重复。
在各个模块上执行不同的测试,并在模块集成期间执行集成测试。这些测试包括兼容性测试,即测试不同硬件,操作系统版本,软件平台,浏览器等上的应用程序。负载和压力测试也根据SRS进行。
最后,通过创建类似虚拟生产的环境来执行系统测试。成功完成测试后,准备测试报告并决定发布产品!
这是项目生命周期过程的简要概述。
根据IEEE和ISO标准在每个SQA生命周期中进行测试:
-
1.审查软件要求规范。
-
- 为主要版本设定了目标。
-
- 计划发布的目标日期**。**
-
4.制定详细的项目计划。这包括关于设计规范的决定。
-
- 根据设计规范制定测试计划
-
- 测试计划:这包括目标,测试时采用的方法,功能被测试而不是被测试,风险标准,测试时间表,跨平台支持和测试的资源分配。
-
- 测试规范:本文档包括测试前所需的技术细节(软件要求)。
-
8.测试用例的类型: 冒烟(BVT) 测试用例 健全性测试用例 功能测试用例 回归测试用例 阴性测试用例 扩展测试用例
-
- 开发:模块根据其依赖关系逐个开发
-
10.安装程序绑定:安装程序是围绕单个产品构建的。
-
11.构建过程:构建包括可用产品的安装程序 - 多个平台
-
12.测试:冒烟测试,(BVT)基本应用程序测试,以决定进一步测试
-
13.错误修复开始
-
14.新功能测试
-
15.跨平台测试
-
- 压力测试和内存泄漏测试。
-
- 错误报告:创建错误报告
-
18.开发:代码冻结。此时不会再添加任何新功能。
-
- 测试:构建和回归测试。
-
- 发布产品的决定
-
21.Post 发布方案,以实现进一步的目标。
新项目应引入哪些测试/QA 流程?
软件测试不应该是一个不受控制的过程。不受控制的过程通常会导致高成本和高时间,输出质量低,甚至无法测量输出的情况。为了避免这种情况,测试应该在高度受控的环境中进行,并且应该是STLC(软件测试生命周期)每个阶段的计划过程。在测试周期结束时,测试的任何方面都不应有任何不确定性。
通常,测试经理在项目上设置测试过程。但是在一些测试团队非常小的公司中,这可以由测试负责人甚至在团队内部进行广泛讨论后由团队成员设置。
受控测试过程的目的是 - 提高质量,测试成本和测试时间。
以下是一些 QA 最佳实践和方法,其中包含一组规则,用于在组织中设置测试流程或新的测试部门:
设置创建和维护测试计划和测试策略文档的流程。
让测试人员参与早期阶段,即从需求收集阶段开始。这将有助于在开发的早期阶段发现缺陷,从而降低在产品生命周期中修复它们的成本。
与项目管理和利益相关者建立适当的沟通渠道。这将确保您和利益相关者在期望和测试输出方面处于同一页面上。这还将确保测试与您的组织优先级保持一致。
如果测试从新版本开始,请设置流程和规则以在需要时获取新版本。例如,规则可以是 - 每天在预先确定的日期和时间的早晨或每周进行新的构建。
设置生成部署过程。应该提前决定任务,例如谁应该部署构建,应该在哪里部署构建,如何部署它,如果构建部署失败应该做什么等等。
设置 BVT(生成验证测试)的过程。确定要在每个新版本上执行的一些冒烟测试。尽可能自动执行这些冒烟测试,并在每个新版本上运行此 BVT。如果烟雾测试失败,应拒绝构建。测试过程应定义在BVT故障时通知谁以及如何通知(通过电子邮件,记录缺陷等)。
设置流程以编写和管理测试用例。要涵盖的测试用例类型,如何编写测试用例(要遵循的任何特定格式)以及要使用的测试管理工具(例如HP质量中心,TestLink,TestRail,拉力赛等)
使用测试管理工具的过程 - 如何管理测试用例,测试用例优先级,测试用例关键字,要求,测试用例分配,如何使用结果更新测试用例,如何管理失败的测试用例,如何以及何时将测试用例标记为已阻止等。
定义缺陷管理流程 - 使用缺陷管理工具(如JIRA,Bugzilla等),添加新的缺陷(缺陷摘要,重现步骤,预期结果,实际结果,假设,注释等),分配缺陷,设置缺陷严重性和优先级,验证后更新缺陷的过程(状态,受让人等)。
设置内部团队报告流程和报告格式 - 谁将向谁报告,报告频率(每天,每周等),报告内容(问题,障碍,每日状态等)测试工作量估算流程 - 如何估算、估算注意事项
使用自动化工具 - 使用哪些自动化工具,如何使用这些工具,如何编写和维护测试脚本,定义手动和自动化测试
构建和使用测试环境 - 构建生产环境的精确副本的测试环境。测试环境应定期从生产环境更新
环境。设置更新和维护测试环境的过程,包括测试基础设施、测试数据、数据库备份等。
团队技能评估和改进 - 需要定期进行QA团队技能评估,以确定优势和劣势,以便在需要时提供培训。进行 QA 绩效评估和评估。
团队入职 - 培训新成员的过程(谁将培训新成员,应涵盖哪些主题,持续时间,培训评估等)。培训新团队的流程
成员应该足够高效,以减少培训时间和导师的参与。定期审查测试过程以识别和处理关键改进领域非常重要。您还必须定义所有关键领域的成熟度级别(初始、受控、高效和优化),以便在任何给定点,您都可以确定哪些关键领域需要进一步改进,哪些流程处于优化阶段。
测试过程是一个持续的过程,以提高测试人员的效率,有效性,最重要的是最终产品的质量。
当您是QA的新手时,如何开始处理测试项目?
如果已经建立了测试流程并由团队跟进,那么就可以加入这样的测试流程
项目并不难。如果您是该项目的新手,请从阅读,学习和理解项目要求开始。确定项目的所有主要组成部分。列出这些组件,并在深入了解这些组件的详细信息之前,从对项目有更多了解的人那里获得这些组件的审阅。安排与高级成员/导师的会议,并解释您对项目的理解。与他们讨论您的疑问,问题和疑问,并不时得到他们的澄清。
了解项目业务规则和流程也非常重要。与您的团队主管/经理讨论日常任务,并在一天结束时传达状态。一旦你熟悉了这个项目,就开始承担小型的功能或Ul测试任务。学习并遵循测试设计,执行和缺陷管理流程。
注意小细节。这在你职业生涯的初始阶段对一个新项目来说非常关键。与团队成员和开发人员进行更多交谈。通过为项目增加价值来赢得团队的尊重。上述过程是任何新手开始QA项目的最简单,最有效的过程。