测试方法有哪些,考试测试方式方法有哪些


软件测试方法?都有哪几种? 1、白盒测试:又称为结构测试或逻辑驱动测试 , 是一种按照程序内部逻辑结构和编码结构 , 设计测试数据并完成测试的一种测试方法 。
2、黑盒测试:又称为数据驱动测试 , 把测试对象当做看不见的黑盒 , 在完全不考虑程序内部结构和处理过程的情况下 , 测试者仅依据程序功能的需求规范考虑 , 确定测试用例和推断测试结果的正确性 , 它是站在使用软件或程序的角度 , 从输入数据与输出数据的对应关系出发进行的测试 。
3、灰盒测试:是一种综合测试法 , 它将“黑盒”测试与“白盒”测试结合在一起 , 是基于程序运行时的外部表现又结合内部逻辑结构来设计用例 , 执行程序并采集路径执行信息和外部用户接口结果的测试技术 。
4、静态测试:指不运行被测程序本身 , 仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性 。
5、动态测试:是指通过运行被测程序 , 检查运行结果与预期结果的差异 , 并分析运行效率、正确性和健壮性等性能指标 。


软件测试的方法有哪些? 有4种方法可以达成测算程序运行时间的目的 。 它们分别是使用clock, times, gettimeofday, getrusage来实现的 。 下面就来逐一介绍 , 并比较它们的优劣点 。 系统测试环境: VirtualBox (Ubuntu 9_sec + (double)stTimeval.tv_usec*1E-6; } int main() { int i, j; int n = 0; clock_t clockT1, clockT2; double doubleT1, doubleT2; if (TEST_METHOD == TEST_BY_CLOCK) { clockT1 = clock(); } else if (TEST_METHOD == TEST_BY_TIMES) { times(&clockT1); } else if (TEST_METHOD == TEST_BY_GETTIMEOFDAY) { doubleT1 = getTimeval(); } else if (TEST_METHOD == TEST_BY_GETRUSAGE) { doubleT1 = getTimeval(); } for (i = 0; i < COORDINATION_X; i++) { for (j = 0; j < COORDINATION_Y; j++) { g_Matrix[i][j] = i * j; } } if (TEST_METHOD == TEST_BY_CLOCK) { clockT2 = clock(); printf("Time result tested by clock = %10.30f\n",(double)(clockT2 - clockT1)/CLOCKS_PER_SEC); } else if (TEST_METHOD == TEST_BY_TIMES) { times(&clockT2); printf("Time result tested by times = %10.30f\n", (double)(clockT2 - clockT1)/sysconf(_SC_CLK_TCK)); } else if (TEST_METHOD == TEST_BY_GETTIMEOFDAY) { doubleT2 = getTimeval(); printf("Time result tested by gettimeofday = %10.30f\n",(double)(doubleT2 - doubleT1)); } else if (TEST_METHOD == TEST_BY_GETRUSAGE) { doubleT2 = getTimeval(); printf("Time result tested by getrusage = %10.70f\n", (double)(doubleT2 - doubleT1)); } return 0; } 1. 使用clock的方法: clock是ANSI C的标准库函数 , 关于这个函数需要说明几点 。 首先 , 它返回的是CPU耗费在本程序上的时间 。 也就是说 , 途中sleep的话 , 由于CPU资源被释放 , 那段时间将不被计算在内 。 其次 , 得到的返回值其实就是耗费在本程序上的CPU时间片的数量 , 也就是Clock Tick的值 。 该值必须除以CLOCKS_PER_SEC这个宏值 , 才 能最后得到ss.mmnn格式的运行时间 。 在POSIX兼容系统中 , CLOCKS_PER_SEC的值为1,000,000的 , 也就是 1MHz 。 最后 , 使用这个函数能达到的精度大约为10ms 。 2. 使用times的方法: times的用法基本和clock类似 , 同样是取得CPU时间片的数量 , 所不同的是要除以的时间单位值为sysconf(_SC_CLK_TCK) 。 3. 使用gettimeofday的方法: 用gettimeofday直接提取硬件时钟进行运算 , 得到的结果的精度相比前两种方法提高了很多 。 但是也正由于它提取硬件时钟的原因 , 这个方法只能计算程序开始时间和结束时间的差值 。 而此时系统中如果在运行其他的后台程序 , 可能会影响到最终结果的值 。 如果后台繁忙 , 系统dispatch过多的话 , 并不能完全真实反映被测量函数的运行时间 。 4. 使用getrusage的方法: getrusage得到的是程序对系统资源的占用信息 。 只要指定了RUSAGE_SELF , 就可以得到程序本身运行所占用的系统时间 。

推荐阅读