1.SDLC和STLC有什么区别?
软件开发生命周期是软件行业设计、开发和测试高质量软件的过程。SDLC的目标是生产-个高质量的软件,满足或超过客户的期望,在时间和成本估计内完成。
STLC软件测试生命周期是测试团队为确保软件或产品的质量而执行的一系列不同的活动。
STLC是软件开发生命周期(SDLC)的一个组成部分。但是,STLC只处理测试阶段。
2.软件测试有哪些不同的层次?
- 单元测试:旨在通过隔离每个软件部分,然后执行测试来验证每个单独组件是否符合要求并具有所需功能。[由开发人员完成]
有时我们将单元测试称为组件测试或程序测试或模块测试。
- 集成测试:旨在结合测试系统的不同部分,以评估它们是否正确地共同工作。通过以组的形式测试单元,可以识别它们相互交互方式中的任何故障。[由开发人员完成]
- 系统测试:将软件的所有组件作为一个整体进行测试,以确保整体产品满足规定的要求。[由测试人员完成]
- 验收测试:是软件测试过程中的一个阶段,确定产品是否通过审批。这种类型的测试的目的是评估系统是否符合最终用户的需求,并确定是否已准备好进行部署。[由用户完成]
验收测试例如alpha测试、beta测试、合同和监管验收测试,以及操作验收测试和用户验收测试。有UAT和OAT用户验收测试和操作验收测试。
3.解释缺陷从发现到解决的步骤?
1. 发现缺陷:测试人员首先发现缺陷,并将其报告给开发团队。
2. 分析缺陷:开发项目经理或技术负责人会分析该缺陷,确定其是否有效以及是否在当前范围内。
3. 处理缺陷:
- 如果缺陷被拒绝,说明它不是有效的缺陷。
- 如果缺陷被接受且在范围内,开发人员开始修复缺陷,状态变为“进行中”。
- 修复后,进行重新测试。
4. 重新测试:如果缺陷通过测试,则关闭;否则,重新打开缺陷,开发人员再次修复。
5. 缺陷生命周期:包括新建、分配、打开、修复、重新测试和关闭等阶段。
4.测试用例和测试场景有什么区别?
测试场景定义为可以测试的任何功能。它也被称为测试条件或测试可能性。
示例:测试登录功能
测试用例是为验证软件应用程序的特定特性或功能而执行的一组操作。一个测试用例包含测试步骤测试数据,前置条件,后置条件,为特定的测试场景开发,以验证任何需求。
示例:使用有效的用户名和有效的密码测试登录测试场景可以用多个测试用例进行测试
5.功能测试和非功能测试有什么区别?(测试的主要类型是什么?)
功能测试是一种验证软件应用程序的每个功能的运行是否符合需求规格说明的测试。它测试系统的功能
非功能性测试是一种用来检查软件应用程序的非功能性方面(性能、可用性可靠性等)的测试。它测试系统的性能。
在功能测试中,我们测试登录功能,它是否像预期的那样工作?在非功能测试中,我们可以测试100个用户同时登录时系统的性能。
6.验证和确认的区别?
验证
我们是否正确地构建了产品?
1. 验证中间产品,如需求文档、设计文档、ER图、测试计划和追踪矩阵。
2. 从开发者的角度进行。
3. 在不执行软件代码的情况下进行验证。
4. 使用的技术包括:非正式评审、检查、走查、技术评审和同行评审。
确认
我们是否构建了正确的产品?
1. 对最终的成品进行确认,如开发的软件、服务或系统。
2. 从客户的角度进行。
3. 通过执行软件代码来进行确认。
4. 使用的技术包括:功能测试、系统测试、模拟测试、回归测试等。
7.我们应该什么时候开始在我们的项目中进行测试?
软件测试应该在软件开发生命周期的早期就开始。这有助于在SDLC的早期阶段(即需求收集和设计阶段)捕获和消除缺陷。尽早开始测试有助于减少缺陷的数量,并最终降低返工成本。
软件测试的七个原则之一是“早期测试可以节省时间和金钱”。
8.没有明确的书面用户需求,如何测试软件?
1.用你能拿到的任何一点文档工作。
2.使用应用程序的旧版本/当前版本作为参考,以测试软件产品的未来版本。
3.与项目团队成员交谈
4.当应用程序准备就绪时,使用探索性测试对其进行测试
9.什么是探索性测试,我们为什么要使用它?
探索性测试是软件测试的一种方法,它被简单地描述为同时学习、测试设计和测试执行。
在探索性测试中,测试用例不是预先创建的,而是测试人员在运行中对系统进行检查。
使用探索性测试有两个原因:1.当我们没有时间去设计测试用例的时候2.当有差的或没有要求的时候
10.变更相关测试是什么而我们为什么要用确认测试和回归测试之间的区别是什么?
确认测试或重新测试当一个测试因为缺陷而失败时,那么这个缺陷就会被报告,并且期望软件的新版本已经修复了这个缺陷。在这种情况下,我们需要再次执行测试,以确认缺陷是否得到了实际修复。
回归测试被定义为软件测试的一种类型,以确认最近的程序或代码更改没有对现有功能产生不利影响。
影响分析用于了解需要进行多少回归测试。