山东大学2018软件测试理论与实践提纲

需积分: 28 20 下载量 201 浏览量 更新于2024-09-08 1 收藏 585KB DOCX 举报
"山东大学2018年软件测试复习提纲" 软件测试是一门重要的学科,其发展历程可追溯到20世纪中期。初期,测试主要关注于功能验证,认为测试是为了证明软件的正确性。然而,随着技术的发展,测试的目的转变为寻找软件中的错误,即破坏性检测阶段。随后,测试领域进一步发展,转向质量评估,通过测试来衡量软件的质量。自1988年起,测试的重点演变为缺陷预防,确保软件符合设计要求并减少错误。 在正向思维与反向思维的对立中,Bill Hetzel博士强调软件测试是建立对程序预期运行的信心,旨在验证软件是否符合用户需求。而Glenford J. Myers则主张测试应着眼于找出错误,认为一个好的测试用例能揭示未知的错误。软件测试包含两个关键方面:验证和有效性确认。验证关注的是软件功能和特性的正确实现,而有效性确认则确保软件满足用户的实际需求。 软件测试与软件开发之间存在密切关系,测试是开发过程中的重要环节,用于确保产品质量。另一方面,软件测试与质量保证(SQA)也有着不可分割的联系。SQA负责监督测试过程,确保测试结果的客观性和准确性,并推动流程改进。测试提供了质量评估的数据,是SQA实施管理活动的基础。SQA注重流程的评审和监控,而测试则侧重于技术层面的产品评估和验证。 软件测试的基本概念包括对软件缺陷的理解。软件缺陷是开发或维护过程中出现的问题,导致系统功能失效或不符合用户需求。这些缺陷可能源于技术错误、团队间的沟通不畅,或是软件自身的问题,如文档错误和用户场景的不匹配。在软件生命周期早期,通过审查和评审会就能发现部分缺陷,而在实际测试阶段,这些缺陷将被进一步识别和修复。 规格说明书中的缺陷往往在需求分析审查阶段就被揭示出来,因此,早期的缺陷管理和预防对于提高软件质量至关重要。为了有效地进行软件测试,必须全面理解软件缺陷的成因、构成以及在整个软件开发生命周期中的管理策略。这有助于构建更稳定、可靠的软件系统,满足用户的需求,降低软件故障的风险。