答:按照执行测试时是否须要运行程序,软件测试能够划分为静态测试和动态测试。工具
静态测试以人工测试为主,经过测试人员认真阅读文档和代码,仔细分析其正确性、一致性及逻辑结构的正确性,从而找出软件产品中的错误或缺陷。静态测试对自动化工具的依赖性较小,经过人脑的思考和逻辑判断来查找错误,于是能够更好地发挥人的主观能动性。测试
与静态测试不一样的是,动态测试须要经过实际运行被测程序来发现问题。测试人员能够输入一系列的测试用例,经过观察测试用例的输出结果是否与预期相符来检验系统内潜在的问题或缺陷。编码
答:画出该问题的等价类表,并为每一个等价类进行编号:
spa
答:开发工做和测试工做不能由同一部分人来完成。若是开发人员对程序的功能要求理解错了,就很容易按照错误的思路来设计测试用例。若是开发人员同时完成测试工做,那么测试工做就很难取得成功。设计
答:经常使用的软件测试模型有V模型、W模型和H模型。每种模型都有各自的优缺点。3d
V模型的价值在于很是明确地标明了测试过程当中存在的不一样级别,而且清楚地描述了这些测试阶段和开发过程各阶段的对应关系。在V模型中,测试工做在编码以后才能进行,因此在软件开发早期各个阶段引入的错误不能及时被发现。尤为是需求阶段的错误只有等到最后的验收测试才能被识别。对分析、设计阶段产生的错误不能及时发现并改正的缺点会对后期的修复工做带来诸多不便,形成更多资源的浪费和时间的延迟。
在V模型的基础上,增长开发阶段的同步测试,就是W模型。W模型的最大优点在于,测试活动能够与开发活动并行进行,这样有利于及早地发现错误,可是W模型也有必定的局限性。在W模型中,需求、设计、编码等活动依然是依次进行的,只有上一阶段彻底结束,才有可能开始下一阶段的工做。与迭代的开发模型相比,这种线性的开发模型在灵活性和对环境的适应性上有很大差距。
在H模型中,软件测试过程的活动彻底独立,贯穿于整个软件产品的生命周期,与其余流程并行进行。当软件测试人员认为测试准备完成,即某个测试点准备就绪时,就能够从测试准备阶段进入到测试执行阶段。code
int a,b, c; if(a<1 and b>0) c=5; else if (b<-3) c=4; else c= 3;
请画出这段代码的程序流程图,并分别采用语句覆盖、分支覆盖、条件覆盖、分支一条件覆盖、条件组合覆盖和路径覆盖的方法设计测试用例。
答:程序流程图:
语句覆盖
分支覆盖
条件覆盖
分支----条件覆盖
条件组合覆盖
路径覆盖
blog