软件测试的方法和技术是多种多样的。对于软件测试技术,可以从不同的角度加以分类:从是否需要执行被测软件的角度,可分为静态测试和动态测试。从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。
黑盒测试有多种技术,在不同的场景情况下可以结合使用。主要有等价类划分,边界值,判定表,状态迁移图,正交试验法等。当然这些技术在白盒测试中也可以用,它们只是技术,而白盒黑盒测试只是测试方式。
我们经常看到一些词汇,比如Ad Hoc testing, Exploratory testing等。书中给了一些解释。我也结合写一下我的理解。
是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.
测试是一个系统工作,它的常规流程是:模块测试、集成测试、系统测试、确认测试,在这其中根据需要回归测试穿插其中。其中在做模块测试和集成测试的时候,通常是白盒测试和黑盒测试一起发挥作用。
在软件测试中,黑盒测试主要是针对模块进行的功能测试。最普遍的方法是以软件的功能说明书为基础将软件的输入划分为若干个等价类,多次运行该软件来检验软件对于不同的等价类是否能满足要求。但是在实际应用中,有的模块太大或输入参数太多,等价类划分后需要进行的测试工作可能是一个极大的任务。这时,如何选择最优的测试用例就成为测试人员的
软件测试方法一般分为两种:白盒测试与黑盒测试。其中,白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,着重于程序的内部结构及算法,通常不关心功能与性能指标。黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,实际上是站在最终用户的立场上,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性
黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。
黑盒测试(black—box testing)又称功能测试、数据驱动测试或基于规范的测试。用这种方法进行测试时,被测程序被当作看不见内部的黑盒。在完全不考虑程序内部结构和内部特性的情况下,测试者仅依据程序功能的需求规范考虑确定测试用例和推断测试结果的正确性。因此黑盒测试是从用户观点出发的测试,黑盒测试直观的想法就是既然程序被规定做某些事
单元测试的测试数据可以用两个基本的方法系统地构建。第一个是规格说明测试,这个技术也称为黑盒测试,行为测试,数据驱动测试,功能测试以及输入/输出驱动测试。另一个极端是代码测试,它在选择测试用例时不理会规格说明文档。这个技术也称为玻璃盒测试,白盒测试,结构测试,逻辑驱动测试以及面向路径测试。