软件测试与安全格局的演变
1. 软件测试作为一门学科
软件测试并非新鲜事物,起初只是开发者在编写代码时进行的非正式过程。直到近十到十二年,软件测试才逐渐成为一门独立的学科。
早期,软件测试没有正式的课程体系,计算机科学课程中仅教授一些调试技能,但软件测试所需的远不止这些。优秀的测试人员需要有好奇心和边学边用的能力。测试人员之间会交流工具和想法,各自形成自己的方法和策略,这更像是一门艺术而非科学。
软件测试人员在企业或工程领域的定位差异很大。他们可能是开发团队的一部分,与开发人员、设计师或架构师合作;也可能属于独立于开发团队的质量保证部门。这两种模式各有利弊,但缺乏一致性。即使在同一家公司,测试人员的岗位也可能发生变化。
20世纪90年代末,软件行业为提高软件质量,开始组建专门的软件测试团队。当时软件复杂度增加,缺陷频发,给客户和企业声誉造成损害。修复这些缺陷成本高昂,人们意识到如果能在开发早期发现问题,成本将大幅降低。于是,对软件测试人员的需求激增,形成了求职者市场。许多人因具备测试潜力而被录用,其中包括有软件开发、设计和IT经验的人,以及仅具备计算机知识和好奇心的人。
一些入门级测试人员通过自主学习资源和培训材料取得了成功,但他们面临着技术不断变化和培训资源不足的挑战。随着时间的推移,出现了针对新测试人员的书籍、继续教育课程、专业会议和软件测试认证项目。
同时,行业开始反思软件测试的流程。最初通过增加人员解决软件质量问题的方法存在局限性,于是测试自动化成为解决方案。人们认为自动化可以减少测试成本,提高测试覆盖率。这导致许多雇主更看重测试人员的编码和编程技能,更多开发者转行成为测试人员。然而,可用的资源仍主要侧重于开发和