测试是一个广泛的领域,它从需求,架构,设计和实现中获取元素。测试也是软件质量的关键组成部分。 IEEE Software Engineering Body of Knowledge(找到的免费HTML版本here)将测试定义为
动态验证程序在有限的一组测试用例上的行为,这些测试用例通常是从通常无限的执行域中选择的,与指定的预期行为相对应。
您可以在线阅读整个SWEBOK Software Testing knowledge area以及本书的其余部分。
您可能希望了解的一些主题是:
- 故障,故障和错误之间的差异。这些术语用于定义所谓的“因果链”。简单地说,故障或缺陷是系统失败的原因。
- oracle问题。在软件测试中,如果程序在测试时的行为通过或失败,那么oracle就会出现这种情况。
- 测试的局限性。 Dijstra的着名引用“程序测试可用于显示错误的存在,但绝不表示缺席。”您必须了解风险管理以及如何充分测试以将风险降低到可接受的水平。
- 测试级别
- 单元测试。验证低级模块的功能,通常是功能和方法。
- 集成测试。测试组件之间的交互。在面向对象的系统中,正在测试的可能是类之间的关系。
- 系统测试。测试完整的软件系统。在此阶段,您还要测试非功能性需求。
- 测试目标。一些重要的测试是系统满足要求(一致性或功能测试),系统更改没有引起其他问题(回归和烟雾测试),系统可用(可用性测试)。
- 白盒和黑盒测试。真的,当你看不到源代码时,如何测试时可以看到源代码。不同的方法适用于每种情况。
- 测量和指标
- 文档。如何为管理层和工程团队生成报告。测试人员生成的文档包括测试计划,测试设计规范,测试程序规范,测试用例规范和测试日志。您可以在线查找示例文档和模板。
按照SWEBOK软件测试部分的建议,还推荐阅读以下书籍:
- ķ。 Beck,实例测试驱动开发,Addison-Wesley,2002。
- B中。 Beizer,Software Testing Techniques,International Thomson Press,1990。
- P上。 C. Jorgensen,软件测试:工匠的方法,第二版,CRC出版社,2004年。
- ℃。 Kaner,J。Falk和H.Q. Nguyen,测试计算机软件,第二版,John Wiley&儿子,1999年。
- ℃。 Kaner,J。Bach和B. Pettichord,“软件测试的经验教训”,Wiley Computer Publishing,2001。
- M.R。 Lyu,软件可靠性工程手册,Mc-Graw-Hill / IEEE,1996。
- W上。 Perry,软件测试的有效方法,John Wiley&儿子,1995年。
- S上。 L. Pfleeger,软件工程:理论与实践,第二版,Prentice Hall,2001。
我希望这能让你开始。