軟件測試技術之如何編寫測試用例(6)

四、客戶端兼容性測試

1、平臺測試

市場上有很多不同的操作系統類型,最常見的有Windows、Unix、Macintosh、Linux等。Web應用系統的最終用戶究竟使用哪一種操作系統,取決于用戶系統的配置。這樣,就可能會發生兼容性問題,同一個應用可能在某些操作系統下能正常運行,但在另外的操作系統下可能會運行失敗。

因此,在Web系統發布之前,需要在各種操作系統下對Web系統進行兼容性測試。

2、瀏覽器測試

瀏覽器是Web客戶端最核心的構件,來自不同廠商的瀏覽器對Java,、JavaScript、ActiveX、plug-ins或不同的HTML規格有不同的支持。例如,ActiveX是Microsoft的產品,是為InternetExplorer而設計的,JavaScript是Netscape的產品,Java是Sun的產品等等。另外,框架和層次結構風格在不同的瀏覽器中也有不同的顯示,甚至根本不顯示。不同的瀏覽器對安全性和Java的設置也不一樣。

測試瀏覽器兼容性的一個方法是創建一個兼容性矩陣。在這個矩陣中,測試不同廠商、不同版本的瀏覽器對某些構件和設置的適應性。

五、安全性測試

Web應用系統的安全性測試區域主要有:

(1)現在的Web應用系統基本采用先注冊,后登陸的方式。因此,必須測試有效和無效的用戶名和密碼,要注意到是否大小寫敏感,可以試多少次的限制,是否可以不登陸而直接瀏覽某個頁面等。

(2)Web應用系統是否有超時的限制,也就是說,用戶登陸后在一定時間內(例如15分鐘)沒有點擊任何頁面,是否需要重新登陸才能正常使用。

(3)為了保證Web應用系統的安全性,日志文件是至關重要的。需要測試相關信息是否寫進了日志文件、是否可追蹤。

(4)當使用了安全套接字時,還要測試加密是否正確,檢查信息的完整性。

(5)服務器端的腳本常常構成安全漏洞,這些漏洞又常常被黑客利用。所以,還要測試沒有經過授權,就不能在服務器端放置和編輯腳本的問題。

六、總結

以上從功能、性能、可用性、客戶端兼容性、安全性等方面討論了基于Web的系統測試方法。

基于Web的系統測試與傳統的軟件測試既有相同之處,也有不同的地方,對軟件測試提出了新的挑戰。基于Web的系統測試不但需要檢查和驗證是否按照設計的要求運行,而且還要評價系統在不同用戶的瀏覽器端的顯示是否合適。重要的是,還要從最終用戶的角度進行安全性和可用性測試。

web頁面測試注意事項:

Web測試往往不被測試人員重視,認為是沒有技術含量的體力活,本人結合自己的工作經驗談談Web測試中的一些注意事項,或許會對大家有所幫助。測試過程中主要考慮HTML頁面、TCP/IP通訊、Internet鏈接、防火墻和運行在web頁面上的一些程序(例如,applet、javascript、應用程序插件),以及運行在服務器端的應用程序(例如,CGI腳本、數據庫接口、日志程序、動態頁面產生器)。另外,因為服務器和瀏覽器類型很多,不同版本差別很小,但是表現出現的結果卻不同,連接速度以及日益迅速的技術和多種標準、協議。當然還可以借助Web測試工具對其進行自動化測試。其它要考慮的如下:

1、服務器上期望的負載是多少(例如,每單位時間內的點擊量),在這些負載下應該具有什么樣的性能(例如,服務器反應時間,數據庫查詢時間)。性能測試需要什么樣的測試工具呢(例如,web負載測試工具,其它已經被采用的測試工具,web自動下載工具,等等)?

2、系統用戶是誰?他們使用什么樣的瀏覽器?使用什么類型的連接速度?他們是在公司內部還是外部?

3、在客戶端希望有什么樣的性能(例如,頁面顯示速度?動畫、applets的速度等?如何引導和運行)?

4、允許網站維護或升級嗎?

5、需要考慮安全方面(防火墻,加密、密碼等)是否需要,如何做?怎么能被測試?需要連接的Internet網站可靠性有多高?對備份系統或冗余鏈接請求如何處理和測試?web網站管理、升級時需要考慮哪些步驟?需求、跟蹤、控制頁面內容、圖形、鏈接等有什么需求?

6、需要考慮哪種HTML規范?多么嚴格?允許終端用戶瀏覽器有哪些變化?

7、頁面顯示和/或圖片占據整個頁面或頁面一部分有標準或需求嗎?

8、內部和外部的鏈接能夠被驗證和升級嗎?多久一次?

9、產品系統上能被測試嗎?或者需要一個單獨的測試系統?瀏覽器的緩存、瀏覽器操作設置改變、撥號上網連接以及Internet中產生的“交通堵塞”問題在測試中是否解決,這些考慮了嗎?

10、服務器日志和報告內容能定制嗎?它們是否被認為是系統測試的主要部分并需要測試嗎?

11、CGI程序、applets、javascripts、ActiveX組件等能被維護、跟蹤、控制和測試嗎?

18、測試用的評審需要注意一些什么?主要是針對哪些人群?

專家分析:在國內這個評審這個概念很淡薄,但是卻是無處不在的。比如經常做的代碼走查、立項會議、需求討論等等其實都是一種簡化的評審,有的公司把這叫做“頭腦風暴”(往往是遇到難題的時候集中大家的智慧來沖關)

1、可以評審的東東很多,需求、策略、計劃、用例、代碼…基本上項目中你能想到的東西,都可以拿出來評審。

2、組織評審需要有清晰的目的(這個是整個環節中重要的部分),很簡單,你首先要知道,你需要從這個評審中得到什么?也許是希望被評審東東更加完善,也許是希望增加大家交流的機會,甚至可能是為了應付上面的檢查等等。

3、不同目的評審,參與人員自然也隨之變化:比如,希望需求更加完善的評審,理論一切與產品有關的人員,大到項目經理,小到一線銷售人員都需要來參加。但是,往往評審的人員越多,時間上就越難安排,所以需要結合實際情況來刪減。當然,也不是說必須要XX人參加的評審才叫評審,比如一個BA與一個客戶或開發人員私下的一次交流,只要做了詳細的記錄,也可以算作是一個評審。

所以,有內容的評審其實是不拘形式的,假如非得搞個內審或外審來規范,我只能說那是走過場而已。

4、在組織評審的細節上,有一點很重要:不要在評審過程中“照本宣書”。

很多公司在評審前不做準備,評審時拉個主持人上去就對著文檔、PPT一陣讀,半天下來,問大家有沒問題,結果只能是只言片語。

所以,在評審前最好先做預審,也就是在評審前,給予評審人員一定的時間,也許是三、兩天,也許是一星期,讓評審人員熟悉評審目標,并提出自己的意見,由一個統一的程序收集起來,在評審中逐一解決。這樣的效果會好很多。

5、最后說說比較規范的評審流程

確定評審目標——確定參與人員(包括主持人、記錄員、評審員等)——安排評審時間——預審——整理預審報告——評審——整理評審報告——作者修改評審目標——復審(復審可以走簡單流程,由各個提建議的評審人員查看自己的建議是否得到合理的修改)——存檔

19、測試用例的粒度如何界定?碰到功能復雜的測試,應該如何書寫測試用例?

專家分析:根據需求來定。較復雜的,可以先畫出流程圖,再進行編寫測試用例。

文章來源:網絡 版權歸原作者所有

上文內容不用于商業目的,如涉及知識產權問題,請權利人聯系小編,我們將立即處理

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/43734.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/43734.shtml
英文地址,請注明出處:http://en.pswp.cn/news/43734.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

求Win11系統virtualbox+vagrant安裝MacOS虛擬機

文章目錄 一、背景二、素材2.1、virtualboxvagrant 三、問題3.1、安裝失敗3.2、第二個失敗3.3、網絡說 四、求助 一、背景 題主,主要是窮,沒錢買mac筆記本或相關系統的蘋果產品,哈哈,偶爾也有用過MacOS系統,只是還沒有…

actuator/prometheus使用pushgateway上傳jvm監控數據

場景 準備 prometheus已經部署pushgateway服務&#xff0c;訪問{pushgateway.server:9091}可以看到面板 實現 基于springboot引入支持組件&#xff0c;版本可以 <!--監控檢查--><dependency><groupId>org.springframework.boot</groupId><artifa…

H3C交換機如何配置本地端口鏡像并在PC上使用Wireshake抓包

環境: H3C S6520-26Q-SI version 7.1.070, Release 6326 Win 10 專業版 Wireshake Version 4.0.3 問題描述: H3C交換機如何配置本地端口鏡像并在PC上使用Wireshake抓包 解決方案: 配置交換機本地端口鏡像 1.進入系統視圖,并創建本地鏡像組1 <H3C>system-vie…

高效反編譯luac文件

對于游戲開發人員,有時候希望從一些游戲apk中反編譯出源代碼,進行學習,但是如果你觸碰到法律邊緣,那么你要非常小心。 這篇文章,我針對一些用lua寫客戶端或者服務器的編譯過的luac文件進行反編譯,獲取其源代碼的過程。 這里我不贅述如何反編譯解壓apk包的過程了,只說重點…

【【STM32之GPIO】】

STM32之GPIO 學完了正點原子自帶的視頻課之后感覺仍然一知半解現在更新一下來自其他版本的STM32學習 GPIO 就是 General Purpose Input Output 中文名叫通用輸入輸出口 可配置8種輸入輸出模式 引腳電平 0V~3.3V 部分引腳可容忍5V 輸出模式下可控制端口輸出高低電平&#xff…

ubuntu bind dns服務配置

sudo apt-get install bind9 內網搭建DNS服務器&#xff0c;大多數是解析純內網地址使用。但是偶爾也需要解析外網的地址&#xff0c;所以我們可以配置DNS沒有添加A記錄的URL時&#xff0c;forward到外網DNS服務器或者內網的其他DNS服務器解析。 打開配置文件&#xff1a; sud…

Leetcode 動態規劃

動態規劃&#xff1a; 72. Edit Distance class Solution { public:int minDistance(string word1, string word2) {vector<vector<int>> dp(word1.size() 1, vector<int>(word2.size() 1, 0));for (int i 0; i < word1.size(); i) dp[i][0] i;for …

grafana-zabbix基礎操作篇------導入數據源

文章目錄 一、grafana的安裝1.1、下載地址1.2、下載后導入所安裝機器1.3、yum安裝解決依賴1.4、啟動grafana1.5、查看端口是否啟用&#xff08;端口默認3000&#xff09;1.6、瀏覽器訪問 二、添加zabbix數據源2.1、導入數據源 **下一篇 我們講講構建儀表板的操作** 今天&#x…

如何在工作中利用AIGC提質增效?

引言 人工智能技術快速發展&#xff0c;以 ChatGPT 為代表的新的人工智能語言模型的出現與更迭&#xff0c;引發人們極大的興奮和關注。越來越多的企業開始將 AI 技術應用到生產流程&#xff0c;以提高工作效率和生產力。AIGC&#xff08;AI Generated Content&#xff09;是人…

UE4/UE5 照明構建失敗 “Lightmass crashed”解決“數組索引越界”

在構建全局光照時,經常會出現“Lightmass crashed”的錯誤,導致光照構建失敗。本文將分析這一問題的原因,并給出解決建議。 UE4 版本4.26 報錯如下&#xff1a; <None> Lightmass crashed: Assertion failed: (Index > 0) & (Index < ArrayNum) [File:d:\bu…

在 ubuntu 18.04 上使用源碼升級 OpenSSH_7.6p1到 OpenSSH_9.3p1

1、檢查系統已安裝的當前 SSH 版本 使用命令 ssh -V 查看當前 ssh 版本&#xff0c;輸出如下&#xff1a; OpenSSH_7.6p1 Ubuntu-4ubuntu0.7, OpenSSL 1.0.2n 7 Dec 20172、安裝依賴&#xff0c;依次執行以下命令 sudo apt update sudo apt install build-essential zlib1g…

linux 環境收集core文件步驟

Linux環境下進程發生異常而掛掉&#xff0c;通常很難查找原因&#xff0c;但是一般Linux內核給我們提供的核心文件&#xff0c;記錄了進程在崩潰時候的信息&#xff0c;在C語言類的大型項目中&#xff0c;有助于深入定位。其配置流程如下&#xff1a; 1 查看生成core文件開關是…

BOXTRADE-天啟量化分析平臺 主要功能介紹

BOXTRADE-天啟量化分析平臺 主要功能介紹 potato 數學 web 緣起 月暈而風&#xff0c;礎潤而雨 BOXTRADE-天啟量化 歡迎來到天啟量化&#xff01;這是一個專注于量化分析的網站。我們致力于為用戶提供市場行情技術指標和量化策略分析方面的優質內容和資源。 我們的使命是 做…

第4章 微服務框架主體搭建

mini商城第4章 微服務框架主體搭建 一、課題 框架搭建 二、回顧 1、整體業務功能分析 2、根據業務需求設計表結構及字段 三、目標 1、版本控制器的搭建使用 2、能獨立自主的搭建微服務框架 3、學會考慮一些公共的工具組件 4、網關模塊的應用 四、內容 第1章 版本控…

3D虛擬形象數字替身的制作及應用介紹

“虛擬數字人”這一詞匯已經深入人心。從虛擬偶像、虛擬代言人到虛擬主播、虛擬員工各種類型虛擬數字形象不斷進入公眾視野&#xff0c;由于其與Z世代的獨特親和力以及與新媒體平臺的高度適配性&#xff0c;虛擬數字人在各個領域都在呈崛起之勢&#xff0c;并且有著深度的融合&…

167. 兩數之和 II - 輸入有序數組

兩數之和 II - 輸入有序數組 給你一個下標從 1 開始的整數數組 numbers &#xff0c;該數組已按 非遞減順序排列 &#xff0c;請你從數組中找出滿足相加之和等于目標數 target 的兩個數。如果設這兩個數分別是 numbers[index1] 和 numbers[index2] &#xff0c;則 1 < inde…

萬字長文·通俗易懂·一篇包掌握——輸入/輸出·文件操作(c語言超詳細系列)(二)

前言&#xff1a;Hello&#xff0c;大家好&#x1f618;&#xff0c;我是心跳sy&#xff0c;上一節我們主要學習了格式化輸入輸出的基本內容&#xff0c;這一節我們對格式化進行更加深入的了解&#xff0c;對文件概念進行介紹&#xff0c;并且對輸入、輸出與文件讀寫的基本概念…

SpringBoot統?功能處理

前言&#x1f36d; ??????SSM專欄更新中&#xff0c;各位大佬覺得寫得不錯&#xff0c;支持一下&#xff0c;感謝了&#xff01;?????? Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 本章是講Spring Boot 統?功能處理模塊&#xff0c;也是 AOP 的實戰環節&…

18-組件化開發 根組件

組件化開發 & 根組件: 1. 組件化:一個頁面可以拆分成一個個組件&#xff0c;每個組件有著自己獨立的結構、樣式、行為. 好處:便于維護&#xff0c;利于復用->提升開發效率 組件分類: 普通組件 , 根組件 2. 根組件:整個應用最上層的組件&#xff0c;包裹所有普通小組件…

智能家居(4)---火災報警線程封裝

封裝火災報警線程實現智能家居中的火災報警功能 mainPro.c&#xff08;主函數&#xff09; #include <stdio.h> #include "controlDevice.h" #include "inputCommand.h"#include <pthread.h>struct Devices *pdeviceHead NULL; …