測試全攻略

2021-05-27 18:08:44 字數 2314 閱讀 4183

#include "class1.h"

#include

#include "cppunit/testrunner.h"

#include "cppunit/testresult.h"

#include "cppunit/testresultcollector.h"

#include "cppunit/extensions/helpermacros.h"

#include "cppunit/brieftestprogresslistener.h"

#include "cppunit/extensions/testfactoryregistry.h"

#include "cppunit/textoutputter.h"

#include "cppunit/compileroutputter.h"

#include "cppunit/testcaller.h"

class testclass1:public cppunit_ns::testfixture

virtual void teardown(){}

void testcase1()

void testcase2()

};test.cpp**如下:

#include "testclass1.h"

#include "testclass2.h"

#include

#include "cppunit/testrunner.h"

#include "cppunit/testresult.h"

#include "cppunit/testresultcollector.h"

#include "cppunit/extensions/helpermacros.h"

#include "cppunit/brieftestprogresslistener.h"

#include "cppunit/extensions/testfactoryregistry.h"

#include "cppunit/textoutputter.h"

#include "cppunit/compileroutputter.h"

#include "cppunit/testcaller.h"

cppunit_test_suite_registration(testclass1);

cppunit_test_suite_registration(testclass1);

int main()

makefile檔案如下:

ip=127.0.0.1

port=9115

url=rtsp:

其中ip是server ip,port是rtsp埠,url是傳送信令帶的url。<>表示按順序傳送的信令,這個配置檔案表示先傳送乙個setup,然後sleep 2秒,再傳送乙個play,然後sleep 2秒,繼續......這個程式可作為(3)中的陪測程式

在上面程式的基礎上修改,讀取配置檔案後,死迴圈按順序傳送信令,假設該程式稱做b。

寫乙個新的perl檔案,完成如下功能,起幾十路使用某配置檔案的b程式,sleep幾秒後,再起幾十路使用其它配置檔案的b程式.....,或者一起起也可以,自行設計,最後killall所有,從頭迴圈執行。

總之盡可能的模擬客戶端的所有行為,包括突然斷聯等,並且保證一定的壓力。

(5)壓力下測試記憶體。繼續在valgrind下測試,使用(4)中的測試指令碼做配測。

保證壓力下無異常狀態、無資料不一致狀態、無顯式記憶體洩漏、無記憶體讀寫異常

(6)穩定性以及記憶體洩漏測試。

陪測指令碼起幾百路客戶端,保證主程式的cpu佔用率在70%以上,持續執行20多小時。

測試期間,關注程序對記憶體的佔用率,是保持在恆定水平還是隨執行時間的增長而增長。

測試完畢,保證主程式負荷首席執行官時間而不宕機、沒有記憶體洩漏發生。

(7)**覆蓋率測試。gcov

gcov是隨gcc安裝的,可以檢查陪測程式對目標程式的**覆蓋情況。

不斷修改測試指令碼,保證測試盡量全面。**被執行的次數也可以做為以後效能測試的乙個參考。

(8)效能測試。gprof

同gcov一樣,gprof也是隨gcc安裝的,它可以檢測目標程式中所有函式的呼叫時間,並根據消耗時間排序,方便找出效能瓶頸。

找出系統的主要效能瓶頸,經過效能測試後,一般會發現影響系統的主要因素還是資料結構和演算法。

測試期間,任何的coredump/任何的記憶體讀寫異常,務必處理掉。墨菲法則說,乙個事情如果有可能變糟,事實則是會變的更糟。任何乙個微小的、出現機率極小的bug,如果不在研發測試階段解決,都可能造成以後更大代價的返工,甚至給客戶的運營帶來災難。希望在每個人身上生效的都是馬太效應,而不是墨菲法則。

Ubuntu 藍芽全攻略

ubuntu 的藍芽支援相信很多同學都在使用吧,插上就用,連個手機傳個檔案啊什麼的非常方便。但是你有沒有想過壓榨出其更大的潛能呢?有沒有想過坐到電腦前,開啟藍 牙連上手機,戴上耳麥,直接就通過電腦來接打 了呢?或者連上你的 ipod touch,聲就從電腦的音箱中飄出了呢?當然,windows 系統...

PcAnywhere使用全攻略

一聽名字就知道 pcanywhere 是什麼意思了,pcanywhere是一套老牌遠端控制軟體,可執行在windows95 98 nt 2000 me下。使用者可以通過主控或被控的方 式,遠端管理已連線上網際網路或內聯網的計算機,而且管理方式為what s you see what s you ge...

MCU解密全攻略

掩模rom有極好的效能,但它不能被再程式設計,也就是說不能公升級程式。帶uv eprom的mcu 通常有兩種方式 一種是帶石英窗的陶瓷封裝,可重新擦除後再程式設計。另一種是大量生產的 標準塑料封裝,也稱為otp one time programmable只能程式設計一次 uv eprom 不方便的地...