【Beta】Phylab 測試報告

PhyLab Beta 測試報告

測試中發現的bug

Beta階段新Bug

Bug 可能緣由
markdown生成的報告可能溢出顯示框 表格過長,顯示框未設置橫向溢出
移動端實驗區沒法評論 移動端社區未接入致使沒法評論
移動端社區不能登錄 社區密碼並非用戶設置的密碼
在社區設置頭像後沒法在用戶界面上傳頭像
社區的頭像在用戶界面不會顯示
社區頭像路徑與用戶界面頭像路徑衝突
移動端用戶註冊收不到郵件 社區註冊接口移動端與pc端不一樣
設計性實驗頁面移動端隱藏答案有延遲 移動端瀏覽器點擊事件與pc端不一樣

Alpha未發現Bug

Bug 可能緣由
控制檯測試/實驗界面生成報告錯誤信息可能沒法返回 返回的信息中包含了非utf8編碼字符,致使laravel拋出異常

遺留Bug

Bug 可能緣由
實驗區域發佈評論,若是須要驗證碼,沒法填寫 評論頻率過快,實驗區未接入驗證碼系統
工具頁面,手機端畫面崩壞 使用了手機上沒法顯示的前端庫
手機社區資料修改沒有保存按鈕 排版問題
某些瀏覽器(如Edge)下我的信息沒法修改 未知,可能與兼容性有關
控制檯編輯器有時須要點擊才能顯示內容 與編輯器模塊刷新有關
用戶在未進行郵箱驗證狀況下仍可能登入社區,但此時社區功能並不能徹底使用 未知,可能與社區模塊有關
逐差法小工具輸入框有誤 對逐差法理解錯誤
註冊界面的年級信息沒有關聯 數據庫設置有誤
實驗和社區界登出不一樣步 登出調用失敗

針對新功能的場景測試

典型用戶我的信息

Alpha測試報告html

場景測試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報告模板。laravel

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

機型 報告生成方式選擇 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

Markdown報告生成接口正常可用,本學期新增的實驗可以生成兩種類型的報告。移動端可以完成普通用戶對網站的基本使用:註冊登錄、生成實驗報告、修改我的信息等。新增設計性實驗頁面,並儘量增長其中的內容併發

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

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

在軟工方面咱們本階段嘗試單元測試並有了不小的進展,同時在編碼過程當中也對已有的一些配置進行了解耦。但仍有部分測試沒有完成,部署方式也須要優化,所以下個階段咱們團隊目標主要以提高軟工質量爲主。

單元測試

本階段咱們對上一階段的控制檯接口以及本階段的設計性實驗接口進行了單元測試。撰寫測試踩了不少的坑,所以不久後也即將有一篇關於Laravel框架單元測試的技術博客。

測試結果以下:

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

性能測試

本階段新增的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%。

嘗試以測試Markdown接口的參數測試Latex接口,一樣致使了服務器宕機。

結論

以上測試能夠看出,Markdown接口不管是在單次生成速度仍是併發生成的資源佔用和速度上,相比Latex接口均有巨大的優點。所以二者的適用範圍也不一樣,在須要生成美觀、規範的報告時能夠選用Latex模板,而僅僅查看數據結果時可使用Markdown模板。

相關文章
相關標籤/搜索