测试技术培训:如何测试磁盘写的速度 2

5、程序实现如下(非常简单、不再解释):

// writeFileDemo.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include <iostream>

#include <fstream>

using namespace std;

#include <windows.h>

#include <WinBase.h>

#include <ctime>

//目标写入文件

const char* g_psOutFile = "D:\\test_file\\1.txt";

//一次写入的Buffer大小

const long WRITE_BUFF_SIZE = 10*1024*1024;    //300MB字节

//写入次数

#define MAX_WRITE_CNT   5

//buffer每个字节初始化为‘a‘字符

void initBuf(char* pszBuf, int iCnt)

{

for(int i = 0; i < iCnt; ++i)

{

pszBuf[i] = 97;

}

}

//循环写入文件

void writeFileFun(char* szBuf)

{

ofstream ofout(g_psOutFile);

int i = 0;

while(i < MAX_WRITE_CNT)

{

ofout << szBuf << endl;

++i;

}

}

//测试写磁盘速度

void writeFileTestFun()

{

//堆内存申请,显然栈内存不合适

char* szTenMBBuf = (char*)malloc(WRITE_BUFF_SIZE);

(void)initBuf(szTenMBBuf, WRITE_BUFF_SIZE);

size_t nBeginTicks = GetTickCount();

cout << "BeginTime = " << nBeginTicks << endl;

(void)writeFileFun(szTenMBBuf);

size_t nEndTicks = GetTickCount();

cout << "EndTime = " << nEndTicks << endl;

size_t nSpan = nEndTicks - nBeginTicks;

cout << "nSpanTime = " << nSpan << "ms" << endl; //ms

float nTotalBytes = WRITE_BUFF_SIZE*MAX_WRITE_CNT;  //总写入字节数

float nTotalTimes = (float)(nSpan) / 1000.0f;       //总耗费时间,单位s

cout << "nTotalWriteBytes = " << nTotalBytes << endl;

cout << "nTotalTimes = " << nTotalTimes << endl;

float fSpeed =  nTotalBytes / nTotalTimes;

cout << "Speed = " << fSpeed << "Byte/s" << endl;   //写入速度 Byte/s

cout << "Speed = " << fSpeed / 1024.0f / 1024.0f << "MB/s" << endl; //写入速度 MByte/s

if (NULL != szTenMBBuf)

{

free(szTenMBBuf);

szTenMBBuf = NULL;

}

}

int _tmain(int argc, _TCHAR* argv[])

{

(void)writeFileTestFun();

return 0;

}

时间: 2024-08-08 06:00:07

测试技术培训:如何测试磁盘写的速度 2的相关文章

Java基础-继承-编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。

#29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight.小车类Car是Vehicle的子类,其中包含的属性有载人数 loader.卡车类Truck是Car类的子类,其中包含的属性有载重量payload.每个 类都有构造方法和输出相关数据的方法.最后,写一个测试类来测试这些类的功 能. package hanqi; public class Vehicle { private int wheels; private int weight

面试测试岗位被要求当场写代码,当时的我傻了

面试测试岗位被要求当场写一个算法,倒序一个字符串,并且字符串中到空格有3个的,2个的,1个的: 我毫无准备,当场放弃了. 回来在网上看了一下,原来这是网上的面试测试经典题.只是我遇到的更难了一点. Step1: 常见的算法就是倒序排一下,不考虑空格的.比如下面的将 i am a boy 倒序成boy a am i,其实有准备就简单得很 public class test { public static void main(String[] args){ String str2 = "I am a

程序员自己写测试,还要测试人员做什么?

在向开发人员介绍单元测试或TDD等工程实践时,往往可以听到这样的疑问.比如: 自己写的程序,自己无法从另一个角度测出问题.写bug的时间都不够了,哪有时间来写测试?开发来写测试了,测试干什么?除了核心代码,没有什么值得测试的.-- 一个例子首先我们看一个例子. 全项目唯一的测试 不止一次,我在各种项目中看到这样的测试,往往这也是整个工程中唯一一个测试.可以看出,开发者认为编写是有必要的.所以按照"标准"的做法建立了测试目录,引入JUnit依赖.并且利用它在开发的初期来验证某些技术疑问,

利用mnist训练集生成的caffemodel对mnist测试集与自己手写的数字进行测试

从一到二:利用mnist训练集生成的caffemodel对mnist测试集与自己手写的数字进行测试 通过从零到一的教程,我们已经得到了通过mnist训练集生成的caffemodel,主要包含下面四个文件: 接下来就可以利用模型进行测试了.关于测试方法按照上篇教程还是选择bat文件,当然python.matlab更为方便,比如可以迅速把识别错误的图片显示出来. 一.均值文件mean.binaryproto 在进行分类之前首先需要产生所有图片的平均值图片,真正分类时的每个图片都会先减去这张平均值图片

性能测试vs负载测试vs压力测试-概念普及

下面我们主要介绍性能测试.负载测试和压力测试. 效率作为ISO 9126内部和外部质量的重要质量属性之一,其含义是在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力.资源可能包括其他软件产品或系统的软件和硬件配置,以及其他相关的资源(例如:打印纸.磁盘等). 效率测试主要关注产品的时间和资源相关的特性.时间相关的特性是指在规定条件下,软件产品执行其功能时,提供适当的响应和处理时间以及吞吐量的能力,例如:用户打开某个网页需要等待的时间:资源相关的特性是指,在规定条件下,软件产品执行

性能测试vs负载测试vs压力测试

下面我们主要介绍性能测试.负载测试和压力测试. 效率作为ISO 9126内部和外部质量的重要质量属性之一,其含义是在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力.资源可能包括其他软件产品或系统的软件和硬件配置,以及其他相关的资源(例如:打印纸.磁盘等). 效率测试主要关注产品的时间和资源相关的特性.时间相关的特性是指在规定条件下,软件产品执行其功能时,提供适当的响应和处理时间以及吞吐量的能力,例如:用户打开某个网页需要等待的时间:资源相关的特性是指,在规定条件下,软件产品执行

web测试与app测试的区别

看过了千里大腿的blog,再加上最近也有一些同学问我web与app测试的区别.所以在这里也献丑,写一篇随笔.希望对大家有所帮助. 笔者做了快三年的测试了.大部分时间都在做app的测试,web测试也做了半年左右.其实我觉得这两者并没有什么大的区别. 仅仅从功能测试的层面上来讲的话,在流程和功能测试上是没有区别的.那么区别在哪里呢? 我个人觉得就是由于载体不一样,所以系统测试和一些细节可能会不一样. 那么我们就要先来了解,web和app的区别. web项目,一般都是b/s架构,基于浏览器的,而app

性能测试之稳定性测试(可靠性测试)

最近两天在系统的复习性能测试方面的知识,结合之前的性能测试经验有了一些总结,希望写出来与大家分享,希望多提宝贵意见,共同进步~ 概念 首先来说说性能测试:性能是软件的一种非功能特性,他关注的不是软件是否完成了特定的功能,而是软件在完成特定功能是展示出来的及时性.及时性从不同的视角代表不同的指标: 用户:响应时间 系统管理员:资源利用率,可扩展性,系统稳定性,系统容量 开发人员:系统架构,数据库设计,设计和代码实现 可见,系统稳定性对系统管理员的意义重大,稳定性的好坏也可以直接影响到最终用户所关心

单体测试和结合测试相关的总结

第一次接触到Android单体测试和结合测试,查阅了相关资料,学习了很多东西,现总结如下: 单体测试就是测试代码,测试函数的实现是否正确: 单体测试按照等级分为: 1.不考虑函数逻辑,输入一个值(正确的值,临界值,错误的值),执行函数后能否输出想要的值: 2.考虑代码逻辑,其中的每个if语句,case语句,switch语句等都进行测试: 单体测试在源代码的基础上建立junit test,然后写test case: 结合测试是测试apk的: 1.需要导入源代码的R.java文件,因为需要引入源代码