• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件測試中的壓力測試

    發布: 2009-5-05 10:33 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 69次 | 進入軟件測試論壇討論

    領測軟件測試網    壓力測試是一種基本的質量保證行為,它是每個重要軟件測試工作的一部分。壓力測試的基本思路很簡單:不是在常規條件下運行手動或自動測試,而是在計算機數量較少或系統資源匱乏的條件下運行測試。通常要進行壓力測試的資源包括內部內存、CPU 可用性、磁盤空間和網絡帶寬。要減少用于測試的資源,可運行一個稱為壓力器 (stressor) 的工具。

            圖 1 中的圖像顯示一種運行中的壓力工具 EatMem。命名壓力器時通常使用"Eat"前綴,后跟要使用的資源類型,因此減少內存、磁盤空間和降低 CPU 可用性的壓力器可分別命名為 EatMem、EatDisk 和 EatCpu。EatMem 壓力器是一個命令行程序,它接受一個指定運行時長的參數(以分為單位)。EatMem 大約每三秒鐘嘗試分配隨機數量的可用內存。正如您在圖 1 中看到的,內存請求可能失敗。在這種情況下,EatMem 會一直嘗試分配內存,直到成功為止。當然,該壓力器工具自身并不執行任何實際測試;它只是準備一個進行測試的計算機狀態。通過在測試實際程序的同時運行該程序,您可為應用程序模擬在常規測試環境中很難進行測試的條件。

    圖 1 運行中的 EatMem 壓力器

        整體程序結構

            EatMem 壓力器工具(用 C# 編寫)的整體結構如圖 2 所示。首先,我將一個 using 語句添加到 InteropServices 命名空間,這樣就可以調用本機 Win32® 函數。特別地,我調用 GlobalAlloc 和 GlobalFree 函數來分配和釋放內存,并調用 GlobalMemoryStatus 函數確定分配多少內存。我還使用了一些 Win32 API 函數來操作控制臺文本的顏色。

    Figure 2 EatMem Program Structure
    using System;
    using System.Runtime.InteropServices;

    namespace EatMem
    {
      class Class1
      {
        [DllImport("kernel32.dll")]
        extern static IntPtr GlobalAlloc(uint uFlags, uint dwBytes);

        [DllImport("kernel32.dll")]
        extern static IntPtr GlobalFree(IntPtr hMem);
       
        [DllImport("kernel32.dll")]
        extern static void GlobalMemoryStatus(ref MEMORYSTATUS lpBuffer);
       
        public struct MEMORYSTATUS
        {
          public  uint dwLength;
          public  uint dwMemoryLoad;
          public  uint dwTotalPhys;
          public  uint dwAvailPhys;
          public  uint dwTotalPageFile;
          public  uint dwAvailPageFile;
          public  uint dwTotalVirtual;
          public  uint dwAvailVirtual;
        }

        static MEMORYSTATUS memStatusBuffer = new MEMORYSTATUS();
       
        [STAThread]
        static void Main(string[] args)

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 軟件測試 壓力

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>