單用戶登錄系統(tǒng)的響應時間標準
單用戶登錄系統(tǒng)的響應時間標準
作為測試工程師,你的目標是要保證系統(tǒng)在各種應用場景下的功能是符合設計要求的,所以你需要考慮的測試用例就需要更多、更全面。等價類劃分方法,是將所有可能的輸入數(shù)據(jù)劃分成若干個子集,在每個子集中,如果任意一個輸入數(shù)據(jù)對于揭露程序中潛在錯誤都具有同等效果,那么這樣的子集就構成了一個等價類。
后續(xù)只要從每個等價類中任意選取一個值進行測試,就可以用少量具有代表性的測試輸入取得較好的測試覆蓋結果。
邊界值分析方法,是選取輸入、輸出的邊界值進行測試。因為通常大量的軟件錯誤是發(fā)生在輸入或輸出范圍的邊界上,所以需要對邊界值進行重點測試,通常選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù)?;诘葍r類劃分和邊界值分析方法,設計的測試用例顯式功能性需求和非功能性需求顯式功能性需求:軟件本身需要實現(xiàn)的具體功能非功能性需求:安全性、性能、兼容性安全性測試用例包括:1、用戶密碼后臺存儲是否加密;2、用戶密碼在**傳輸過程中是否加密;3、密碼是否具有有效期,密碼有效期到期后,是否提示需要修改密碼;4、不登錄的情況下,在瀏覽器中直接輸入登錄后的URL地址,驗證是否會重新定向到用戶登錄界面;5、密碼輸入框是否不支持**和粘貼;6、密碼輸入框內輸入的密碼是否都可以在頁面源碼模式下被查看7、用戶名和密碼的輸入框中分別輸入典型的“SQL注入攻擊”字符串,驗證系統(tǒng)的返回頁面;8、用戶名和密碼的輸入框中分別輸入典型的“XSS跨站腳本攻擊”字符串百科,驗證系統(tǒng)行為是否被篡改;9、連續(xù)多次登錄失敗情況下,系統(tǒng)是否會阻止后續(xù)的嘗試以應對暴力破解;10、同一用戶在同一終端的多種瀏覽器上登錄,驗證登錄功能的互斥性是否符合設計預期;11、同一用戶先后在多臺終端的瀏覽器上登錄,驗證登錄是否具有互斥性。性能壓力測試用例包括:1、單用戶登錄的響應時間是否小于3秒;2、單用戶登錄時,后臺請求數(shù)量是否過多;3、高并發(fā)場景下用戶登錄的響應時間是否小于5秒;4、高并發(fā)場景下服務端的監(jiān)控指標是否符合預期;5、高**點并發(fā)場景下,是否存在資源*鎖和不合理的資源等待;6、長時間大量用戶連續(xù)登錄和登出,服務器端是否存在內存泄露。
兼容性測試用例包括:1、不同瀏覽器下,驗證登錄頁面的顯示以及功能正確性;2、相同瀏覽器的不同版本下,驗證登錄頁面的顯示以及功能正確性;3、不同移動設備終端的不同瀏覽器下,驗證登錄頁面的顯示以及功能正確性;4、不同分辨率的界面下,驗證登錄頁面的顯示以及功能正確性。 測試的不可窮盡性,即絕大多數(shù)情況下,是不可能進行窮盡測試的?!案F盡測試”,是指包含了軟件輸入值和前提條件所有可能組合的測試方法,完成窮盡測試的系統(tǒng)里應該不殘留任何未知的軟件缺陷。
在絕大多數(shù)的軟件工程實踐中,測試由于受限于時間成本和經(jīng)濟成本,是不可能去窮盡所有可能的組合的,而是采用基于風險驅動的模式,有所側重地選擇測試范圍和設計測試用例,以尋求缺陷風險和研發(fā)成本之間的平衡。
“登錄”功能如何測試?
常用的登錄方式有很多,如:郵箱、賬號、手機號登錄。對于同時支持多種登錄方式,測試時除了考慮每種方式是否能夠登錄成功以外,還需要考慮不同登錄方式的優(yōu)先級、對于用戶習慣登錄方式的設置和記憶、各種登錄方式之間的切換、不同設備的不同登錄方式等。
以下是“登錄”功能需要測試的點: 輸入正確的用戶名和密碼登錄成功 輸入錯誤的用戶名密碼登錄失敗 用戶名或密碼錯誤或為空時,是否有對應的錯誤提示 用戶未注冊就登錄,是否提示先注冊再登錄 已經(jīng)注銷的用戶登錄失敗,提示信息是否友好 密碼框是否加密顯示 用戶名、密碼是否支持中文、特殊字符 用戶名、密碼框是否有長度限制,是否區(qū)分大小寫 密碼為一些簡單常用字符串時,是否提示修改?如: 123456 密碼存儲時是否加密 驗證碼有效時間 驗證碼輸入錯誤或過期,提示信息是否友好 驗證碼是否容易識別,換一張功能是否可用,點擊驗證碼圖片是否可以更換驗證碼 如果使用第三方賬號 (微信,QQ,微博賬號)登錄,那么第三方賬號與本系統(tǒng)的賬號體系對應關系如何保存 布局是否合理、美觀,輸入框是否對齊 風格和提示信息用語是否符合語境 登錄頁面文字和圖片能否正常顯示,按鈕的設置和排列是否正常 頁面默認焦點是否定位在用戶名的輸入框中 首次登錄時相應的輸入框是否為空,或者如果有默認文案,當點擊輸入框時默認方案是否消失 頁面的前進、后退、刷新按鈕是否可用 快捷鍵 Tab,Esc,Enter 等,能否控制使用 單用戶登錄系統(tǒng)的響應時間是否符合 \”3-5-8\”原則 用戶數(shù)在臨界點時并發(fā)登錄是否還能符合 \”3-5-8\”原則 大量并發(fā)用戶登錄,系統(tǒng)的響應時間是多少,系統(tǒng)會出現(xiàn)宕機、內存泄露、 cpu飽和、無法登錄嗎,是否存在資源*鎖和不合理的資源等待 長時間大量用戶連續(xù)登錄和登出,服務器端是否存在內存泄漏 用戶名和密碼是否通過加密的方式,發(fā)送給Web服務器 用戶名和密碼的驗證,應該是前端驗證+服務器端驗證, 而不能單單是在客戶端用javascript驗證 密碼輸入框是否不支持**和粘貼 用戶名和密碼的輸入框,無SQL 注入攻擊風險 錯誤登錄的次數(shù)限制(防止暴力破解) 驗證碼不能被輕易破解、欺騙 不登錄的情況下,在瀏覽器中直接輸入需要登錄后才能訪問的URL地址,驗證是否會重新定向到用戶登錄界面 同一用戶先后在多臺終端的瀏覽器上登錄,驗證登錄是否具有互斥性 主流的瀏覽器下能否顯示正常 不同的操作系統(tǒng)是否能正常工作 移動設備上是否正常工作 不同的分辨率 是否提供記住用戶名密碼、自動登錄的功能 輸入用戶名,密碼后按回車,是否可以登陸 連續(xù)輸入 3次或以上錯誤密碼,用記是否被鎖一定時間(如:15分鐘),時間內不允許登錄,超出時間點是否可以繼續(xù)登錄。
軟件測試中,登陸功能的測試應該從哪些方面去分析?
很高興回答你的問題,我覺得可以從三方面去分析:功能測試,性能測試,接口測試。
功能測試:
登錄功能的話,一般都有登錄賬戶和登錄密碼;首先,我們輸入正常格式的用戶賬戶和密碼,看登錄及提示信息是否成功;
然后,我們輸入不符合類型的數(shù)據(jù),比如用戶名僅支持英文及數(shù)字,那么我們輸入標點符號試下,然后看下是否有異常及提示信息是否正確;
再然后,我們進行邊界測試,比如用戶名只支持10位以內的,那么我們輸入20位及以上來進行測試,看看是否有異常及提示信息是否正確;
一般的頁面輸入框都要有放sql注入功能,輸入相應的sql注入代碼,看這個功能正常不;
接口測試:上面說的是頁面層面的測試,在上面功能沒問題的情況下,這里可以進行下接口測試,目的是為了防止別人繞過前端直接請求服務端接口。
同樣我們模擬接口請求,把上面的各個步驟通過接口的形式跑一遍看有問題沒;
性能測試:至于性能測試,這個一般是上線之后功能穩(wěn)定了,基于系統(tǒng)出現(xiàn)了瓶頸才會進行的測試,一般的這種功能測試涉及不到。
希望我的回答對你有幫助。