Gamma階段測試報告

測試計劃

Gamma階段依然以場景測試爲主。咱們概括了三條場景主線:前端

1、典型用戶:查看

  • 訪問排名頁面 / 搜索課程
  • 查看課程頁面
  • 查看教師頁面
  • 爲他人評論點贊或點踩

2、典型用戶:評論

  • 登陸網站
  • 搜索課程
  • 查看課程頁面
  • 撰寫點評

3、管理員

  • 登陸網站
  • 查看全部評論
  • 查看用戶頁面
  • 刪除用戶評論

其它(詳見後文)

針對找回密碼這一功能設計了場景測試。
針對已有功能進行迴歸測試。
設計了多機型測試環節,針對PC端和移動端主流瀏覽器和設備進行適配測試。python

測試過程

自動化測試與手工測試結合。前者利用selenium瀏覽器自動化測試框架進行。因爲本階段的前端界面針對用戶體驗做了較多的優化,咱們安排測試人員重寫了大量自動化測試代碼。
因爲Gamma階段部署方面的任務較多,該階段測試工做由李青陽同窗獨立完成。數據庫

測試結果(一些影響用戶體驗的地方,功能性Bug在問題1中回答)

如下部分由測試人員發現:

  • 提交評論後的Alert、我的信息頁面的部份內容由英文更改成中文
  • 主頁的放大鏡圖標不是按鈕,帶有迷惑性
  • 排名頁面沒有顯示四項具體指標的分數
  • 將主頁下面「關於咱們」更換爲「用戶反饋」

如下部分由網站用戶反饋獲得:

  • 移動端存在一部分顯示問題,例如排名頁面的表頭被壓縮得很厲害,且沒法經過橫屏解決
  • 課程頁面部分文字沒有加粗或高亮,用戶難以分辨表頭與表格內容
  • 但願增長課表定製功能

回答問題

1. 在測試過程當中發現了多少Bug?有哪些是Gamma階段的新Bug?有哪些是前兩個階段沒有發現的Bug?

  • 搜索結果數目爲10的整數倍時,搜索結果的分頁機制會產生一個多餘的頁。【已修復】
  • 主頁前端顯示修改後,「選擇專業」多選框不起做用。【已修復】(Gamma階段新引入的)
  • 處於未登陸狀態下仍然能夠「贊/踩」(前兩個階段沒有發現)
  • 「贊/踩」操做沒法撤銷(前兩個階段沒有發現)
  • 若是用戶選擇進行匿名評論,那麼這一條評論不會出如今Ta的我的信息頁面中(前兩個階段沒有發現)
  • 若是在我的信息頁面進行註銷操做,那麼註銷後仍然會停留在我的信息頁面
  • 修改我的信息時,在不選擇學校的狀況下仍然能選擇學院(前兩個階段沒有發現)

2. 你是怎麼進行場景測試(scenario testing)的?包括你預期不一樣的用戶會怎樣使用你的軟件?他們有什麼需求和目標?你的軟件提供的功能怎麼組合起來知足他們的須要?(僅描述新功能便可)

2.1 洗月:一個健忘的女生,老是記不住本身各個網站的密碼。

需求和目標:在忘記密碼的狀況下,找回本身公課網帳號的密碼
測試場景:瀏覽器

  • 此處省略洗月註冊公課網帳號的部分
  • 幾個月後,洗月想登陸公課網點評一下這學期的課程,卻怎麼也想不起來密碼了。
  • 在連續嘗試了好幾個密碼失敗後,她點擊了登陸按鈕旁邊的「忘記密碼」。
  • 她在新出現的輸入框中填寫了本身的電子郵箱,點擊「重置密碼」。
  • 幾秒鐘後,她的郵箱收到了公課網發送的電子郵件,裏面包含了用於重置密碼的連接。
  • 洗月打開連接,按照說明填寫了新的密碼。以後她利用新的密碼登陸了公課網。

2.2 公正:網站的管理員,反感部分用戶給出的不合理評價

需求和目標:刪除用戶的不合理評價(哪些評價屬於不合理評價由管理員自行評判)
測試場景:安全

  • 公正登陸了本身的管理員帳號,進入了管理員專屬的「全部評論列表」頁面。
  • 他從上到下瀏覽今天提交到公客網上的評論。
  • 他生氣地發現用戶「木葉丸」針對某課程的評價只有4個字「雞你太美」。
  • 他點擊了列表中的「刪除」按鈕,成功刪除了木葉丸的評論。
  • 次日,木葉丸登陸本身的公客網帳號時,發現本身的「信箱」收到了一封郵件。
  • 他點擊導航欄上面的相應按鈕,進入了我的信箱頁面。
  • 我的信箱裏有一條未讀消息,通知木葉丸:他的評論「雞你太美」已經被管理員刪除。

3. 你是否有迴歸測試確保新功能的加入沒有影響已有功能?請給出一到兩個測試用例並解釋。

測試用例1:app

def test_rank_changemode(self):
        append = "rank/"
        self.driver.get(self.host + append)
        time.sleep(3)
        ein = self.driver.find_elements_by_id('radio')
        self.assertEqual(len(ein), 2)
        ein[1].click()
        time.sleep(3)

        table = self.driver.find_element_by_id("top_teachers")
        tbody = table.find_element_by_tag_name('tbody')
        terms = tbody.find_elements_by_tag_name('tr')
        print(len(terms))
        tds = terms[1].find_elements_by_tag_name('td')
        print("teacher mode, goto teacher page")
        tds[0].find_element_by_tag_name('a').click()
        time.sleep(6)

解釋:該用例旨在測試排名頁面的「模式切換」組件。在Gamma階段咱們優化了排名頁面,顯示了更多表項。這一功能的加入沒有影響已有的模式切換功能。框架

測試用例2:post

def test_searchCourse_home(self):
        # if raise exception, try adjusting the zoom level
        self.driver.get(self.host)
        time.sleep(3)
        e20 = self.driver.find_element_by_id("buttonSelectDepartment")
        e20.click()
        e21 = self.driver.find_element_by_id("departmentList")
        e21s = e21.find_elements_by_tag_name('a')
        print(len(e21s))
        index = 1 # school of math and systematic science
        e21s[index].click()
        time.sleep(3)
        e31 = self.driver.find_element_by_id("searchboxCourse")
        e31.send_keys('\n') # you can modify the keywords
        time.sleep(6)

解釋:該用例旨在測試首頁的搜索功能。在Gamma階段咱們改變了首頁的前端,這一變動沒有影響舊有的搜索模式。
測試結果截圖:
網站修復以後補上。測試

4. 給出你的測試矩陣(test matrix),也即在什麼樣的平臺、硬件配置、瀏覽器類型……上對你的軟件進行測試?

設備 瀏覽器 操做系統 手機型號
PC端 Internet Explorer Windows 10
Microsoft Edge Windows 10
百度瀏覽器 Windows 10
Chrome Windows 10
Safari macOS
移動端 華爲瀏覽器 Honor 10
小米瀏覽器 Redmi Note 4X
QQ瀏覽器 Honor 10, Redmi Note 4X
獵豹瀏覽器 Redmi Note 4X
Chrome iPhone 6S
Safari iPhone 6S
平板電腦 華爲瀏覽器 華爲平板電腦
Chrome 華爲平板電腦

測試結果:優化

  • PC端在IE瀏覽器和百度瀏覽器上存在適配問題。IE瀏覽器上沒法查看已有的用戶評論。百度瀏覽器上的用戶評論位置偏上,偏離了前端的矩形邊框。
  • 移動端的適配整體上能夠接受。廣泛存在的問題是排名頁和搜索結果頁的表格過於擁擠,用戶沒法看清。

5. 你的軟件Gamma版本的出口條件(exit criteria)是什麼?也即在什麼條件下,認定你的軟件已經足夠好,能夠發佈Gamma版本?

1、用戶的登陸、註冊、找回密碼

用戶登陸:

  • 輸入正確的用戶名、密碼、驗證碼(不區分大小寫),可以登陸。
  • 上述3項有任何一項錯誤,不容許登陸。
  • 用戶能夠點擊「看不清,換一張」來更換驗證碼。

用戶註冊:

  • 填寫合法的郵箱、用戶名、密碼,正確的驗證碼(不區分大小寫),系統會向該郵箱發送驗證郵件。
  • 點擊郵件中的連接,則成功註冊。
  • 郵箱、用戶名、密碼的形式不合法,則不容許註冊並在對應的位置給出提示。
  • 驗證碼填寫不正確,不容許註冊。
  • 「密碼」和「確認密碼」不一致,不容許註冊。
  • 用戶能夠點擊「看不清,換一張」來更換驗證碼。

找回密碼:

  • 填寫正確的郵箱、驗證碼,系統會向該郵箱發送郵件。
  • 點擊郵件中的連接,可以進入重置密碼頁面。
  • 填寫兩次新的密碼並保存,密碼被用戶重置。
  • 兩次密碼不一致,不容許重置密碼。

2、搜索課程功能

首頁的搜索功能以下:

編號 「選擇專業」多選框 輸入框 搜索結果
1 不填 不填 返回數據庫中的全部課程
2 xxx學院 不填 返回xxx學院的全部課程
3 不填 String1 返回課程名中含有String1的全部課程
4 xxx學院 String1 返回xxx學院,課程名含有String1的全部課程

搜索結果頁僅有一個輸入框,返回課程名中包含關鍵字(可不填)的全部課程。

3、排名頁面

  • 支持按課程排名和按老師排名兩種模式,用戶可自由切換。
  • 兩種模式均按照「綜合評分」由高到低,由上到下進行排列。
  • 兩種模式均需顯示四項具體指標的分數和評論次數。
  • 該頁面可經過點擊導航欄上的「Rank」按鈕訪問。

4、課程頁面與教師頁面

課程頁面:

  • 正確顯示了該課程的名稱和基本信息。
  • 正確顯示了該課程當前四項指標各自的平均分。
  • 以表格的形式顯示由其它老師教授的該課程、該老師教授的其它課程。
  • 顯示全部針對該課程的用戶評論。
  • 該頁面可經過排名頁面、搜索結果頁面、課程頁面,點擊課程名稱來訪問。
  • 在登陸時,能夠點擊按鈕進入撰寫評論頁面。

教師頁面:

  • 顯示了該教師的姓名、頭像(可能爲默認頭像)、我的主頁連接(可能缺失)、所教授的課程。
  • 點擊我的主頁連接,可以跳轉到正確的教師我的主頁。
  • 該頁面可經過排名頁面、搜索結果頁面、課程頁面,點擊教師的姓名來訪問。

5、用戶評論

  • 必須在登陸狀態下才能進入該頁面。
  • 正確填寫了四項具體指標的分數、填寫了文字評論後,評論能夠被成功提交。
  • 缺任何一項的分數,或文字評論不填,不容許提交評論並進行提示。
  • 文字評論支持插入emoji。
  • 能夠對其它用戶的評論進行點贊或點踩。

6、修改我的信息與註銷

這兩個功能位於登陸後的導航欄右側。

  • 點擊「註銷」則退出登陸。
  • 在我的信息頁面,支持修改頭像、學校、學院。
  • 在我的信息頁面,可以查看該用戶近期的評論。

7、網站安全性

  • 基於https協議訪問。
  • 能防範用戶直接向網站post數據。
  • 對評論文字進行適當轉義,防範用戶在評論中插入音視頻。
  • 經過郵箱驗證與驗證碼機制防範惡意註冊。

8、管理員

  • 擁有普通用戶的全部功能。
  • 可以瀏覽全部的評論,默認順序爲時間的逆序。
  • 可以刪除用戶的評論。
  • 若是用戶A的評論被刪除了,那麼A的「信箱」將會收到一條提醒消息。
相關文章
相關標籤/搜索