原创 軟件測試:BUG那些事兒

什麼是BUG 只有在規格說明存在並且正確的前提下,程序與規格說明不匹配之處纔是錯誤(BUG)。 如何描述一個BUG 我們在描述一個BUG時,應當說明以下幾點: 1、發現問題的版本(在哪兒發生的) 2、問題出現的環境(

原创 BOOL、float 、指針變量與 "零值" 如何比較?

BOOL flag與 “零值” //正確寫法 if(flag) if(!flag) //錯誤寫法 if(flag == TRUE) if(flag == 1) if(flag == FALSE) if(flag == 0) cha

原创 黑盒測試與白盒測試

黑盒測試 黑盒測試又叫功能測試,數據驅動測試。 已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。 軟件的黑盒測試是要在軟件的接口處進行。這種方法就是相當於把測試對象看做一個黑盒子,測試人員不用考慮程序內部的邏輯結

原创 軟件測試的W模型和V模型

軟件測試的V模型 V模型的目的在於改進軟件開發的效率和效果。 在V模型中: 明確的標註了測試過程中存在着那些不同的測試類型,並且清楚的表達了測試階段和開發過程各階段的對應關係。 從這種對應關係我們分析: 單元測試和集成測

原创 時間複雜度

時間複雜度 時間複雜度:實際上就是一個函數,函數的計算結果是算法執行的基本操作的次數。 比如: void Test(int n){ int count = 0; int i = 0; for(;i < n;++

原创 HTTP狀態碼查詢大全

1xx(臨時響應) 狀態碼 狀態碼描述 100(繼續) 請求者應當繼續提出請求。服務器返回此代碼表示已收到請求的第一部分,正在等待其餘部分 101(切換協議) 請求者已要求服務器切換協議,服務器已確認並準備切換 2xx

原创 C++:string類的實現

#include<iostream> #include<string.h> #include<assert.h> #include<stdio.h> class String { public: //構造函數 Strin

原创 shell學習筆記---工具學習

. sort工具 . uniq工具 . paste工具 . cut工具 . xargs工具 . sed工具 . awk工具 . find工具 . 模式空間選擇空間 # sort工具 # sort將文件的每一行作爲一個

原创 C++:日期類的實現

#include <iostream> #include<assert.h> #include<stdio.h> using namespace std; class Date { public: //該函數沒有什麼特別意義,僅

原创 模擬實現atoi、itoa

模擬實現atoi int my_atoi(const char *str) { assert(str); int res = 0;//保存結果 int sign = 1;//符號標誌 char *p = (

原创 C++和C語言動態內存管理的區別(malloc和new的區別)

C語言的動態內存管理在之前的一篇博客中有提到過:C語言動態內存管理 學了C語言的動態內存管理,C++中同樣的也有動態內存管理,那這二者之間到底有何區別呢??? C語言動態內存管理 通過malloc、realloc、calloc以及fr

原创 管道、消息隊列、共享內存、信號量的特點

在之前我們已經瞭解過了進程間通信的幾種方式:管道、消息隊列、共享內存以及信號量。今天我們就來總結一下這幾種方式的各自的特點分別是什麼,和他們相應的應用場景。也是對於這個知識點的一個複習和鞏固。 Q1:爲什麼要有進程間通信??? A1:

原创 模擬實現memcpy、memmove

模擬實現memcpy void *my_memcpy(void *dst,const void *src,int count) { assert(dst); assert(src); char *p = (char

原创 野指針的產生及其危害

我們在學習C語言的時候,經常說道野指針的問題,那麼到底什麼是野指針呢?我們又是如何創造出野指針的呢??野指針會產生什麼樣的影響呢???下面就來一一解答這3個問題。 什麼是野指針 野指針:我們已經理解指針是會指向一個內存單元的,而野指針就

原创 模擬實現strcpy、strcat、strstr、strtcmp

模擬實現strcpy:字符串拷貝 char *my_strcpy(char *dst,const char *src) { assert(dst); assert(src); char *ret = dst;