天天看點

【Beta】Phylab 測試報告PhyLab Beta 測試報告

PhyLab Beta 測試報告

測試中發現的bug

Beta階段新Bug

Bug 可能原因
markdown生成的報告可能溢出顯示框 表格過長,顯示框未設定橫向溢出
移動端實驗區無法評論 移動端社群未接入導緻無法評論
移動端社群不能登陸 社群密碼并不是使用者設定的密碼

在社群設定頭像後無法在使用者界面上傳頭像

社群的頭像在使用者界面不會顯示

社群頭像路徑與使用者界面頭像路徑沖突
移動端使用者注冊收不到郵件 社群注冊接口移動端與pc端不同
設計性實驗頁面移動端隐藏答案有延遲 移動端浏覽器點選事件與pc端不同

Alpha未發現Bug

Bug 可能原因
控制台測試/實驗界面生成報告錯誤資訊可能無法傳回 傳回的資訊中包含了非utf8編碼字元,導緻laravel抛出異常

遺留Bug

Bug 可能原因
實驗區域釋出評論,如果需要驗證碼,無法填寫 評論頻率過快,實驗區未接入驗證碼系統
工具頁面,手機端畫面崩壞 使用了手機上無法顯示的前端庫
手機社群資料修改沒有儲存按鈕 排版問題
某些浏覽器(如Edge)下個人資訊無法修改 未知,可能與相容性有關
控制台編輯器有時需要點選才能顯示内容 與編輯器子產品重新整理有關
使用者在未進行郵箱驗證情況下仍可能登入社群,但此時社群功能并不能完全使用 未知,可能與社群子產品有關
逐差法小工具輸入框有誤 對逐差法了解錯誤
注冊界面的年級資訊沒有關聯 資料庫設定有誤
實驗和社群界登出不同步 登出調用失敗

針對新功能的場景測試

典型使用者個人資訊

同Alpha測試報告

場景測試1:Markdown報告生成&移動端體驗

  1. 典型使用者:小王
  2. 使用者的需求/迫切需要解決的問題:
  • 做實驗的時候想用實驗網站生成一下實驗資料,看看自己的實驗結果是否靠譜
  • 原有網站無法在移動端生成和檢視報告。
  • 生成latex報告太慢了,但小王隻想看看其中某幾個數對不對。
  1. 場景描述:
  • 小王在做實驗的過程中記錄了大量的資料,但對實驗的過程很沒底,想知道資料是否正确。
  • 小王打開了實體實驗網站,順利登陸并進入實驗報告區
  • 小王正确選擇了自己正在做的實驗,并輸入了所有的資料
  • 小王點選生成實驗報告,選擇了“Markdown”報告生成,報告在幾秒内生成完成并提示小王“生成成功”
  • 小王點選檢視實驗報告按鈕,浏覽器新打開了一個頁面顯示了完整的資料報告。

場景測試2:設計性實驗複習

  1. 典型使用者:小李
  2. 使用者的需求/迫切需要解決的問題:
  • 快進入設計性實驗考試了,想查找往屆的資料複習。
  • 複習pdf太長了,且對着pdf複習效果一般。
  1. 場景描述:
  • 小李從我們的宣傳中得知該實體實驗網站,很是興奮,回到宿舍後開啟電腦,看到檢視設計性實驗複習部分不需要注冊,便直接進入了該頁面。
  • 小李說,今天要從光學實驗開始複習了,于是選擇了G01号實驗,頁面顯示了G01的複習攻略。
  • 小李在預覽報告的過程中依次用滑鼠點選虛線部分得到答案,在全部預覽一次後小李點選”清空答案”将所有答案隐藏起來。
  • 小李完成了G01的複習,又選擇了其他實驗開始複習。在外的時候小李打開手機也可以檢視實驗攻略。

回歸測試

本階段我們新增了Markdown(html)報告生成的功能,這部分是在原有latex報告生成的基礎上增加的,而其他新功能/改進并沒有對原有接口造成影響(設計性實驗新增路由,修改密碼和上傳頭像分别是單獨的控制器)。是以主要回測的部分是latex功能是否正常。

Alpha階段生成報告的接口是

/report/create

,本階段我們将原有接口改為

/report/createTex/

并新增接口

/report/createMD

,兩個接口分别對應原來latex部分的控制器以及新的markdown報告控制器。本階段我們在開發此功能的同時為本學期新增的4個實驗增加了相應的markdown報告模闆。

以下是我們針對markdown報告生成以及latex報告生成的測試矩陣

機型 報告生成方式選擇 2111 markdown生成 2141 markdown生成 2161 markdown生成 2201 markdown生成 2161 latex生成 2201 latex生成 markdown生成結果顯示 缺少markdown模闆報錯
thinkpad t580 正常 正常 正常 正常 正常 正常 正常 正常 正常
聯想小新Air14 正常 正常 正常 正常 正常 正常 正常 正常
Dell Inspiron15 正常 正常 正常 正常 正常 正常 正常 正常,檢視不完整,最右邊看不到 正常
Dell G3 (chrome) 正常 正常 正常 正常 正常 正常 正常 正常 正常

包括之後在性能測試部分中我們也分别測試了新的markdown報告生成接口和老的latex報告生成接口,原有的接口是正常的。

測試矩陣

PC端測試

機型 報告生成方式選擇 2111 markdown生成 2141 markdown生成 2161 markdown生成 2201 markdown生成 2161 latex生成 2201 latex生成 markdown生成結果顯示 缺少markdown模闆報錯 修改密碼 頭像上傳 設計性實驗界面 設計性實驗檢視/隐藏答案 設計性實驗清除答案按鈕
thinkpad t580 正常 正常 正常 正常 正常 正常顯示 正常 正常 正常 正常 正常 正常 正常 正常
聯想小新Air14 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常
Dell Inspiron15 正常 正常 正常 正常 正常 正常 正常 正常,檢視不完整,最右邊看不到 正常 正常 正常 正常 正常 正常
Dell G3 (chrome) 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常

移動端測試

機型 使用者注冊 使用者登陸 首頁顯示 實驗資料輸入 報告生成方式選擇 latex報告生成 markdown報告生成 檢視報告生成結果 實驗評論 使用者個人資訊修改 修改密碼 頭像上傳 設計性實驗界面 設計性實驗檢視/隐藏答案
iPhone 7/Safari(周博聞) 正常 正常 正常 正常 正常 正常 正常 正常 無法評論 正常 正常 正常 正常 顯示答案正常,隐藏答案需要等待下一次點選事件
iPhone 6s/Safari(樊子康) 正常 正常 正常 正常 正常 正常 正常 正常 無法評論 正常 正常 失敗 正常 顯示正常,隐藏有問題
榮耀8x chrome(殷劉霄羽) qq、buaa郵箱和outlook都沒收到 正常 正常 正常 正常 正常 正常 無法評論 正常 正常 正常 正常 顯示正常,隐藏有問題,沒有清空答案
iPhone 6/Safari(何雨峰) 正常 正常 正常 正常 正常 正常 正常 正常 無法評論 更新失敗 正常 正常 正常 顯示正常,隐藏有問題
榮耀8x (王尖兵) qq、buaa郵箱沒收到 正常 正常 正常 正常 正常 正常 正常 無法評論 正常 正常 正常 正常 顯示正常,隐藏有問題

Beta 版本的出口條件

與此同時我們也計劃在Beta階段重構網站的部分功能,以提升運作性能,更好地服務于本學期以及将來需要做實驗的同學們。初步計劃的重構包括:以Markdown/html代替Latex/PDF(或先并存),優化移動端使用體驗。

這是Alpha階段測試報告結尾部分我們對Beta階段的計劃,兩大主要功能/改進:Markdown報告生成和移動端體驗優化。除此之外考慮到設計性實驗考試即将開始以及綜合實驗部分即将結束,我們也考慮放緩增加新的綜合實驗内容而新增設計性實驗複習子產品。

本階段的出口條件是

Markdown報告生成接口正常可用,本學期新增的實驗能夠生成兩種類型的報告。移動端能夠完成普通使用者對網站的基本使用:注冊登陸、生成實驗報告、修改個人資訊等。新增設計性實驗頁面,并盡可能增加其中的内容

目前來看網站基本達到了出口條件:

  1. 本學期新增的四個實驗均可以使用Markdown模闆生成Html報告,原有實驗Latex模闆報告生成不受影響。
  2. 移動端可以注冊登陸(某些機型不能收到注冊郵件),可以生成報告并以合适的方式檢視(新開Tab,而不是堆在頁面上)。
  3. 新增了設計性實驗複習頁面,并初步上線了所有的設計性實驗(共8個)。
  4. 同時網站還修改了一些問題,目前修改密碼和頭像上傳接口可以使用了。

在軟工方面我們本階段嘗試單元測試并有了不小的進展,同時在編碼過程中也對已有的一些配置進行了解耦。但仍有部分測試沒有完成,部署方式也需要優化,是以下個階段我們團隊目标主要以提升軟工品質為主。

單元測試

本階段我們對上一階段的控制台接口以及本階段的設計性實驗接口進行了單元測試。撰寫測試踩了很多的坑,是以不久後也即将有一篇關于Laravel架構單元測試的技術部落格。

測試結果如下:

【Beta】Phylab 測試報告PhyLab Beta 測試報告

仍有一些接口沒有被測試,是以下個階段我們将補全剩餘接口的單元測試。

性能測試

本階段新增的Markdown報告生成目的就是為了解決Latex報告生成速度慢,占用資源多的缺陷,為了直覺展示兩者性能上的差異,我們使用Postman和Jmeter對兩個接口分别進行了測試

測試環境:阿裡雲1c2g雲主機

單次報告生成速度

我們使用Postman分别對兩個接口進行連續生成100次報告的測試。

測試結果如下:

接口 總用時 平均用時
Markdown 39841ms (39.841s) 398ms
Latex 116035ms (116.035s) 1160ms

Markdown生成一個報告用時約是Latex接口的34%左右。

并發壓力測試

由于Postman僅能進行串行的測試,我們使用Jmeter對接口進行并發壓力測試。

根據本項目第一屆同學們測試的結果(連結),1c2g的伺服器約能承受30人同時生成Latex報告。

以下時間機關為ms

1s突發測試

并發線程數:30
Label # Samples Average Median 90% Line 95% Line 99% Line Min Max Error % Throughput Received KB/sec Sent KB/sec
TexTest 30 27298 28891 29771 29781 29832 22887 29832 0.00% 0.97879 12.21 1.11
MDtest 30 10499 11874 12495 12508 12592 6441 12592 0.00% 2.24115 3.01 2.53
并發線程數:50

Latex接口運作本測試失敗,生成了12個報告後伺服器當機。

Markdown接口運作正常

Label # Samples Average Median 90% Line 95% Line 99% Line Min Max Error % Throughput Received KB/sec Sent KB/sec
MDtest 50 20086 20982 22123 22135 22209 16458 22209 0.00% 2.16939 2.91 2.45

60s壓力測試

Markdown接口:在60s内均勻地産生180個線程發起請求:

Label # Samples Average Median 90% Line 95% Line 99% Line Min Max Error % Throughput Received KB/sec Sent KB/sec
MDtest 180 23846 27389 35322 35542 35861 542 35953 0.00% 2.15543 2.9 2.44

Latex接口:在60s内均勻地産生90個線程發起請求:

Label # Samples Average Median 90% Line 95% Line 99% Line Min Max Error % Throughput Received KB/sec Sent KB/sec
TexTest 90 60618 84905 98235 99235 102162 307 102856 10.00% 0.67097 6.4 0.74

注意雖然Latex接口在Jmeter中傳回的錯誤是10%,但部分傳回http 200的接口實際上傳回資訊是“fail”,統計了伺服器上生成的pdf個數為:68,既真實錯誤率為24.44%。

【Beta】Phylab 測試報告PhyLab Beta 測試報告

嘗試以測試Markdown接口的參數測試Latex接口,同樣導緻了伺服器當機。

結論

以上測試可以看出,Markdown接口無論是在單次生成速度還是并發生成的資源占用和速度上,相比Latex接口均有巨大的優勢。是以兩者的适用範圍也不同,在需要生成美觀、規範的報告時可以選用Latex模闆,而僅僅檢視資料結果時可以使用Markdown模闆。

轉載于:https://www.cnblogs.com/hardchoice/p/10918894.html