我是测试新手,所以我不知道我必须学习哪些基本的测试概念。请告诉我哪些概念在测试中最重要。
测试是一个广泛的领域,涉及需求、架构、设计和实现方面的要素。测试也是软件质量的关键组成部分。 IEEE Software Engineering Body of Knowledge (找到免费的 HTML 版本 here )将测试定义为
The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite executions domain, against the specified expected behavior.
您可以阅读整个 SWEBOK Software Testing knowledge area在线,以及本书的其余部分。
您可能想要研究的几个主题是:
- 故障、故障和错误之间的区别。这些术语用于定义所谓的“因果链”。简而言之,故障或缺陷是系统失败的原因。
- 预言机问题。在软件测试中,预言机是指根据程序在测试中的行为判断程序是通过还是失败。
- 测试的局限性。 Dijstra 的名言“程序测试可以用来显示 bug 的存在,但绝不能表明它们不存在”。您必须了解风险管理以及如何进行充分测试以将风险降低到可接受的水平。
- 测试级别
- 单元测试。验证低级模块的功能,通常是函数和方法。
- 集成测试。测试组件之间的交互。在面向对象的系统中,测试的可能是类之间的关系。
- 系统测试。测试完整的软件系统。在此阶段,您还要针对非功能性需求进行测试。
- 测试目标。一些重要的测试是测试系统是否满足要求(一致性或功能测试),对系统的更改没有引起额外的问题(回归和冒烟测试),系统可用(可用性测试)。
- 白盒和黑盒测试。真的,什么时候能看到源码,什么时候看不到源码怎么测试。不同的方法适用于每种情况。
- 测量和指标
- 文档。如何为管理层和工程团队生成报告。测试人员生成的文档包括测试计划、测试设计规范、测试过程规范、测试用例规范和测试日志。您或许可以在线找到示例文档和模板。
如 SWEBOK 软件测试部分所建议,还推荐阅读以下书籍:
- K。 Beck,示例测试驱动开发,Addison-Wesley,2002 年。
- B. Beizer,软件测试技术,国际汤姆森出版社,1990 年。
- P。 C. Jorgensen,软件测试:工匠的方法,第二版,CRC 出版社,2004 年。
- C. Kaner、J. Falk 和 H.Q. Nguyen,测试计算机软件,第二版,John Wiley & Sons,1999。
- C. Kaner、J. Bach 和 B. Pettichord,软件测试中的经验教训,威利计算机出版社,2001 年。
- 先生Lyu,软件可靠性工程手册,Mc-Graw-Hill/IEEE,1996 年。
- W. Perry,Effective Methods for Software Testing,John Wiley & Sons,1995 年。
- S。 L. Pfleeger,软件工程:理论与实践,第二版,Prentice Hall,2001 年。
我希望这能让您入门。