一、項目的測試情況
序號 | 所完成的測試 | 系統所期望的性能指標 | 實際測試結果 | 差別分析 | 性能問題及其改進建議 |
---|---|---|---|---|---|
1 | 性能指標 | 服務器在3s內響應 | 最快響應時間:0.44s;最慢響應時間:1.75s | 和網絡速度等有關,但是還是完成了期望 | 如果想提升速度那么就要換更好的服務器 |
2 | 系統資源監控 | cpu占比5%;內存占用120M左右 | CPU占用0.59%;內存占用115.61M | 和機型有關,比較好的機型比較節約 | 其實這個情況是比較正常的,而且也比較符合期望 |
3 | 壓力測試 | 可以達到500個用戶的並發 | 當並發數在100的時候服務器都能實現比較完美的並發 | 沒有達到預期,當請求數相同時,並發數越大失敗的請求越大,而且並發數在100時是所有並發數中最好的一種情況 | 並發能力比較差,要用比較好的服務器 |
4 | 疲勞度測試 | 不出差錯不會崩 | 目前已持續運行13天,憑據每天接受9000左右的請求 | 服務器我們使用的是知曉雲目前運行了13天 | 知曉雲這個平台還是不錯的應該不會崩 |
5 | 安全測試 | 用戶數據不會被盜取篡改 | 目前沒有出現過任何問題 | 沒有出現過安全上的問題 | 用到了https協議能過保證數據在傳輸過程中不被修改,目前比較信任知曉雲 |
性能測試
系統資源監控
雖然機型不多但是對比可以發現,Beta階段的cpu和內存使用情況都明顯下降。
Alpha階段的資源監控
Beta階段的資源監控
壓力測試
請求數 | 並發數 | 成功數 | 失敗數 | 總用時(s) | 最快用時(s) | 最慢用時(s) |
---|---|---|---|---|---|---|
100 | 10 | 100 | 0 | 5.15 | 0.40 | 0.81 |
100 | 20 | 100 | 0 | 3.15 | 0.43 | 0.76 |
100 | 50 | 100 | 0 | 2.35 | 0.61 | 1.59 |
100 | 100 | 100 | 0 | 1.45 | 0.74 | 1.44 |
500 | 100 | 500 | 0 | 11.95 | 1.40 | 3.39 |
500 | 500 | 380 | 120 | 5.01 | 1.80 | 4.99 |
1000 | 100 | 1000 | 0 | 12.19 | 0.43 | 2.10 |
1000 | 500 | 515 | 485 | 10.02 | 2.02 | 5.00 |
1000 | 1000 | 169 | 831 | 5.03 | 3.95 | 5.00 |
5000 | 100 | 4871 | 129 | 137.99 | 0.66 | 8.73 |
10000 | 100 | 6391 | 3609 | 751.29 | 0.40 | 126.47 |
疲勞度測試
可以看到該服務器從5月24號開始投入使用接受各種請求,已使用13天。平均每天接受9739次請求
安全測試(沒法測)
- 使用https協議,避免數據傳輸過程被查看和修改。
- 保密性上用戶不能修改其他用戶的數據,不能查看未授權的數據。
- 可用性上用戶可以查看已授權的數據,並且整個程序都能正常運行。
- 完整性使用了https協議在傳輸過程中可以保證不被篡改。
- 最后我們使用的是知曉雲這個平台,我們還是比較相信這個第三方工具的。
二、項目的發布說明
1、本版本的新功能
(1)PK功能
匹配成功的情況:
匹配失敗的情況:
(2)認真學習功能
(3)加時卡的功能
(4)排行榜功能
2、軟件對運行環境的要求
該項目是以微信小程序形式存在,所以運行於微信平台,微信的版本是最低版本為5.3.
3、系統已知的問題和限制
問題:可能會出現PK模式用戶匹配中兩個用戶存在時間差,即使一方匹配成功,可能會顯示不出對方頭像信息
限制:我們的游戲是用小程序的模式寫的,所以游戲的流暢度不夠。如果是以游戲的模板寫,發布微信小游戲需要證書,對於目前我們這種短期想要發布的情況是不現實。用戶並發數最佳為100
4、軟件的發布方式以及發布地址
發布方式:i詞匯是通過微信公眾平台小程序中的開發管理將我們的要發布版本提交審核,一天左右就可通過審核,在通過審核后,將審核通過的版本發布出來。
發布地址:二維碼
三、提供一個穩定的碼雲的開源源碼和項目鏈接(以便后來人在你們項目基礎上繼續改進完善)
團隊主要使用碼雲進行代碼的管理,碼雲地址:https://gitee.com/yangxueying/software_engineering_team_work
readme地址:https://gitee.com/yangxueying/software_engineering_team_work/blob/dev/README.md
四、要求列出代碼簽入的歷史, 並錄制視頻演示從碼雲代碼倉庫同步代碼,在本機編譯,構建, 並發布到目標機器的過程
五、用戶使用情況報告(使用反饋意見、用戶數量、使用頻度)
(1)使用反饋意見(具體詳見用戶使用調查報告:https://www.cnblogs.com/LDLYMteam/p/9103460.html)
- 功能很齊全,希望能夠增加修改皮膚和背景音效的功能
- 選擇游戲模式的按鈕太大並且挨得近,乍一看以為只有一個按鈕,不太美觀
- 頁面加載較慢
- 如果單詞消除的時候有音效玩起來會更帶勁兒
- 音樂每次進入默認開啟,需要手動關閉,有點麻煩
- 加時卡太少了(初始默認兩張,可通過PK成功獲取加時卡)
- 只有四級和六級兩種選擇,可以考慮增加考研詞庫
(2)用戶數量:截止到2018年6月4號,累計訪問用戶數為65人。
(3)使用頻度
- 訪問人數:訪問小程序內所有頁面的總用戶數,同一用戶多次訪問不重復計。
- 訪問次數:訪問小程序內所有頁面總次數,多個頁面之間跳轉、同一頁面的重復訪問計為多次訪問。
- 人均停留時長:平均每個用戶停留在小程序頁面的總時長,即小程序總停留時長/訪問人數。
- 平均訪問深度:平均每次打開小程序訪問的去重頁面數,即每次訪問去重頁面數/打開次數。
六、團隊項目總代碼行數、項目預估遺留的bug數、項目總耗時
(1)據不完全統計(-_-其中包含了很多注釋的控制台輸出語句),總代碼行數:3926
(2)項目預估遺留的bug數
其他都是一些小問題,主要還是考慮到對數據庫的讀取和寫入的速度較慢,還有網速慢等問題,可能會出現PK模式用戶匹配中兩個用戶存在時間差,即使一方匹配成功,可能會顯示不出對方頭像信息。(后續我們還是會針對該問題繼續進行改進完善)
(3)項目總耗時:
- Alpha階段:7天沖刺,平均每天8小時,總耗時大概60小時。(每天幾乎都在學習和“踩坑”中度過)
- Beta階段:5天沖刺,平均每天6小時,總耗時大概30小時。
- 每個階段沖刺結束后又進行了后續的bug修復和改進,大概又花了30小時。
- 綜上,整個項目總耗時大概是120小時。
七、根據Beta沖刺過程中各個成員的具體貢獻匯總排序,總分為N*20,給出每個人的團隊個人貢獻分(排序無並列,因此每個人的個人貢獻分不同)
姓名 | 貢獻百分比 |
---|---|
董美鳳 | 31% |
楊雪瑩 | 28% |
林楚虹 | 18% |
林藝如 | 15% |
羅登宇 | 8% |
八、每個組員的項目感言
林楚虹:
項目終於完成了。從一個小小的想法到能夠在手機里使用真的很有成就感。接觸了微信小程序開發工具和微信開發語言以及知曉雲。從alpha階段到Beta階段每個階段我們的團隊都很認真努力的去完成任務,熬夜是必備的,也經常伴隨着爭吵,然而每個階段結束看到手機里能過按照我們想法運行的程序時就會覺得之前的辛苦不算什么。alpha階段結束也寫了總結感言,這次的感言就專注在Beta階段。這個階段我個人熬夜比較的狠,到了不把這個問題解決就不睡覺的程度。這個階段開始我在我們購買的騰訊雲服務器上連接數據庫,這是一個比較繁瑣的過程,我寫了一個總結傳到碼雲上了有興趣可以去看看。但是后來我們得知了知曉雲這個工具集結了數據庫以及提供了我們接口而且開發文檔也比較齊全我們就轉向使用這個工具。在使用過程中我們發現這個工具確實比較好用,推薦以后有開發微信小程序的同學使用。然后我們的任務是編寫一個排行榜功能以及單詞調取方式。雖然聽名字都不算復雜,但是開發的時候就會遇到各種問題(具體每日總結中都有提到)然后我就死磕啊記得一次早上快七點才去睡覺。這是一個難得的經歷,我相信我們的項目能獲得大家的喜歡的。
董美鳳:
經過這幾周的項目開發,這一路磕磕絆絆,總是是完成了整個項目。這是第一次在一個完全陌生的環境進行開發,一步步去學習,去實踐。看着我們的小程序一點點地成型,能夠運行,漸漸豐富起來的各種功能,就好像看着自己的孩子成長一樣,自己從中也收獲到了很多,很有成就感。回想Alpha階段的時候,起初的迷茫,無從下手,到后來能夠按照自己的意願想法去開發新的功能,這期間真是痛苦並快樂着。雖然項目結束了,基於我們現在的能力有限,所掌握的技術還只是入門,想法還停留在“原始”階段,所以小程序還是存在一些問題和不足,深刻地覺得自己還需要學習的東西還有很多,自己會的技能才一點點。作為開發者,總是希望盡可能把最好的作品呈現給大家,接下來還是會繼續學習,繼續完善,努力做得更好。同時整個過程下來深刻地體會到了團隊的力量是巨大的,在整個團隊中,每個人的任務不同,所擅長的各有不同,雖然在貢獻度上簡單粗暴的量化決定了每個人的大小,但決不可否認團隊中的每個人都是缺一不可的,整個小程序能如期呈現在大家面前,離不開每一個人所付出的努力。
林藝如:
在結束alpha階段之后,我們的項目雖然不是很完善,但是各方面都在我們的預期之中,所以開發過程還算順利。進入beta階段之后,開始新一輪的開發,項目新增了一些功能和模塊,我所負責的新增模塊相對獨立於alpha階段發布的內容,雖然需要獲取其他模塊的數據,但是與整體沒有過多的交叉,只要將認真學習模塊實現再整合就行,不需要在原項目上做太多的改動,這個任務比較簡單,但是到后期數據導入之后才能驗證是否成功實現需要的功能。beta階段決定采用知曉雲取代在服務器上建數據庫,但是知曉雲不支持SQL語句,而且批量導入還有嚴格的格式要求,雖然能夠通過Excel轉換成CSV格式,單詞的常用詞義也一個個修改了,但是卻無法解決一部分音標中的特殊字符出現亂碼的問題,最后實在沒辦法只能求助知曉雲的客服和技術人員,然后他們幫我們洗完數據之后亂碼問題就解決了,so amazing.beta階段我的任務都是難度不大,但問題不少,每一個問題的解決都是一種收獲。雖然項目開發過程中困難很多,但是最終項目的成功完成和發布給我們帶來了極大的成就感。
楊雪瑩:
項目就這樣經歷了漫長又短暫的幾周就這樣結束了。說實話這段時間真的成長了很多,學習了很多,也發現自己不一樣的能力。果然學習一門語言就是要多實踐,多寫。這段時間,看着我們的項目的功能逐漸增加,逐漸完善,真的是一件很美好的事情。雖然沖刺階段天天熬夜,但是最后項目做出來很有成就感的。要說有遺憾還是有的,項目還是不夠完美,即使課程結束了還是想繼續完善。因為我們對游戲這方面了解還是不夠,想法還是比較傳統。但是該踩的坑還是踩,我覺得用這些相對比較“笨”的方法去做,才可以繼續改進。我們項目一開始連接數據庫,就是用比較普遍的方式,直到后來老師說可以用知曉雲,我們才發現連接數據庫確實不是一件難事。可以說有很多軟件很方便,可以幫你解決很多問題,它幫你封裝好,你只要會使用就可以了。而且知曉雲就是跟微信小程序配套。再次為它的開發文檔點贊,真的學起來很清楚,體會了一把文檔的重要性。項目的完成離不開團隊里每一人的付出。團隊的分工,團隊的計划,團隊的執行能力都會影響團隊的進度。所以調動團隊的積極性很重要,只有大家齊心協力完成同一個目標,最終才會展現一個好的結果。
羅登宇:
我負責的圖標設計和代碼測試,設計了部分功能圖標和新logo的設計,使用的ps和ai,學到了很多代碼的新用法,以后想往軟件圖形方面努力,學習軟工讓我更好的適應了團隊合作