软件测试基本分类
一般软件测试活动分为以下几类:黑盒测试、白盒测试、静态测试、动态测试、手动测试、自动测试。
黑盒测试:又称功能测试、数据驱动测试或给予需求规格说明书的功能测试,注重于测试软件的功能性需求。测试工程师无需考虑程序内部的逻辑结构和特性,只需要依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。黑盒测试涉及软件测试的各个阶段,如单元测试、集成测试、系统测试及确认测试,在系统测试、确认测试中,其作用无法取代。
白盒测试:又称结构测试、逻辑驱动测试或基于程序代码内部结构的测试。需要深入考察程序代码的内部结构、逻辑设计等等。
静态测试:不执行被测对象程序代码而寻找缺陷的过程。阅读程序代码、文档资料等,与需求规格说明书中的需求对比,找出程序代码设计的不合理,以及文档资料中的错误。代码走查工具,如QA C++、C++ Test等。
动态测试:即为实际的执行被测对象的程序代码,输入事先设计好的测试用例,检查程序代码允许的结果与测试用例中设计的预期结果之间是否差异,判定实际结果与预期结果是否一致,从而检验程序的正确性、可靠性、有效性,并分析系统运行效率和健壮性等性能状况。
测试方法
白盒测试常用方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、多重条件覆盖等。
黑盒测试常用方法:等价类划分、边界值分析、因果图分析、错误猜测等。