3.4 软件测试
软件测试定义:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
软件测试的目的:发现错误而执行程序的过程。
软件测试方法:静态测试和动态测试。
静态测试包括代码检查、静态结构分析、代码质量度量。不实际运行软件,主要通过人工进行。
动态测试:是基本计算机的测试,主要包括白盒测试方法和黑盒测试方法。
白盒测试:在程序内部进行,主要用于完成软件内部操作的验证。主要方法有逻辑覆盖、基本基路径测试。
黑盒测试:主要诊断功能不对或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止条件错,用于软件确认。主要方法有等价类划分法、边界值分析法、错误推测法、因果图等。
软件测试过程一般按4个步骤进行:单元测试、集成测试、验收测试(确认测试)和系统测试。
3.5 程序的调试
程序调试的任务是诊断和改正程序中的错误,主要在开发阶段进行。
程序调试的基本步骤:
(1)错误定位;
(2)修改设计和代码,以排除错误;
(3)进行回归测试,防止引进新的错误。
软件调试可分表静态调试和动态调试。静态调试主要是指通过人的思维来分析源程序代码和排错,是主要的设计手段,而动态调试是辅助静态调试。主要调试方法有:
(1)强行排错法;
(2)回溯法;
(3)原因排除法。