从下列关于软件测试的叙述中, 选出 5 条正确的叙述
(1) 用黑盒法测试时, 测试用例是根据程序内部逻辑设计的。
(2) 尽量用公共过程或子程序去代替重复的代码段。
(3) 测试是为了验证该软件已正确地实现了用户的要求。
(4) 对于连锁型分支结构, 若有 n 个判定语句, 则有 2n 条路径。
(5) 尽量采用复合的条件测试, 以避免嵌套的分支结构。
(6) GOTO 语句概念简单, 使用方便, 在某些情况下, 保留 GOTO 语句反能使写出的程序更加简洁。
(7) 发现错误多的程序模块, 残留在模块中的错误也多。
(8) 黑盒测试方法中最有效的是因果图法。
(9) 在做程序的单元测试时, 桩( 存根) 模块比驱动模块容易编写。
(10) 程序效率的提高主要应通过选择高效的算法来实现。