结构化分析方法
自顶向下、逐步分解、面向数据
测试原则
单元测试:程序员自己根据软件详细说明书测试
集成测试:将模块组合起来测试,分为一次性组装(简单、节约时间、发现错误少,只适合小项目)和增量式组装(能发现更多错误、耗时长分为:自顶向下、自底向上、混合式)
确认测试:对已完成的软件进行功能测试分为:内部测试(无用户测试)、阿尔法测试(用户在开发环境下测试)、贝塔测试(用户在实际使用时进行测试)、验收测试(用户根据SRS对项目进行验收)
系统测试:对软件进行性能测试,主要测试三个方面:负载测试、容量测试、强度测试
回归测试:软件在修改完或变更后验证之前代码是否引入了错误
测试方法
黑盒测试 :不了解就代码结构、根据功能设计用例测试功能
白盒测试:根据代码结构测试
测试策略
测试用例设计
黑盒测试:
只知道输入输出不知道内部代码,分为:
等价类划分:设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步,直至所有的有效等价类都被覆盖为止
边界值划分:将每个类的边界值作为测试用例,边界值一般为范围的两端值以及在此范围之外的与此范围间隔最小的两个值
错误推测:没有固定的方法:凭经验而言来推测有可能产生问题的地方
因果图:由一个结果来反推原因
白盒测试:
语句覆盖:所有语句都要被执行以边,覆盖等级最低,因为执行了所有语句,不代表执行了所有条件判断
判断覆盖:所有判断语句的真假分支都要覆盖一次
条件覆盖:条件覆盖于判断覆盖不同,条件覆盖需要对每个独立的条件都要做一次真假的测试用例,层次更高,只针对一个条件判断语句
判定、条件覆盖:使判断中每个条件的所有可能取值至少出现一次,并且每个判判定本身的判定结果也至少出现一次
条件组合覆盖:每个判定条件中条件 的各个可能值都组合至少一次
路径覆盖:逻辑代码中所有可行路径都覆盖了,覆盖层级最高
调试
系统转换 系统维护
可维护性:易测试性、易分析性、易改变性、稳定性