機關內部用的會議室管理系統(預約排程)是2007年以ASP撰寫的,原作者早已調職且存在許多小bug及明顯的資安漏洞,索性砍掉重,順便當作自學ASP.NET 4.0 (C#)的練習成果。

在「不影響使用者習慣」及「資料無痛移轉」的考量下,系統開發中最惱人的需求分析、網站介面及資料庫格式制定幾乎全部省略,反正照抄舊版就對了,過程中再小幅度地改良介面及停用冗餘的資料表欄位即可。上線的成果如下:

MeetingRoomProj

新系統改良了舊版的不少缺點,例如:

  • 登入安全性提升 (舊版有sql injection問題)。
  • 首頁直接顯示當日預約情況 (對於每天準備各會議室設備的同仁來說方便不少)。
  • 更直覺的會議室預約及行事曆查詢,例如用點選日曆取代下拉式選單或輸入文字框。程式端的主要改良是不用再自己刻萬年曆或檢查日期了,用ASP.NET的Calendar物件及jQuery的datepicker處理即可。
  • 刪除排程後不再出現錯誤訊息;許多輸入欄位加上了前、後端驗證。
  • 瀏覽及預約時的會議室名稱與資料庫正確連動;使用者權限與可執行的網頁功能正確連動。
  • 開放系統管理者可異動所有人的資料,方便管理。

但此系統還不成熟,因為仍然是我的自學練習作品,開發方式也偏向quick & dirty,尤其是登入的Session給得頗隨便...,幸好這只是內部系統,而且再怎麼說安全性也比舊系統高。

開發過程中我參考的書籍有:

  1. 聖殿祭司的ASP.NET 3.5專家技術手冊I 核心功能篇 (作者網站)
  2. ASP.NET專題實務4.0上下冊 (作者網站)
  3. jQuery datepicker 的使用:
    • http://docs.jquery.com/UI/Datepicker
    • http://jqueryui.com/demos/datepicker/
    • http://blog.zipe.idv.tw/2011/12/jquery-ui-datepicker.html
    • 把 jQuery datepicker 用在 InsertItemTemplate 中的 TextBox 中: 指定 TextBox 的 CssClass

另外目前也在摸索如何使用Watir (Web Application Testing in Ruby)自動化測試網站,我當然知道還有WatiN、Selenium、甚至是Cucumber等等,不過就一項一項來吧!Watir在Windows上的安裝與使用,官網的說明都非常清楚,在此僅略做紀錄:

  1. 此處下載Ruby 1.9.3-p194.exe及DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe
  2. 安裝Ruby 1.9.3-p194, 勾選”PATH”及”附檔名關聯”選項
  3. cmd下:
    1. ruby -v 確認安裝版本
    2. gem update --system
  4. 安裝DevKit: 把DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe解壓縮到任一目錄下 ex. C:\DevKit\, 在目錄下進入cmd:
    1. ruby dk.rb init
    2. ruby dk.rb install
  5. 安裝Watir: cmd下: 
    • gem install watir (欲支援IE以外的瀏覽器需安裝watir-webdriver)
  6. 裝完之後就可驅動IE了. cmd下進行測試:
    1. irb
    2. require "watir"
    3. browser = Watir::Browser.new
    4. browser.goto "watir.com"

Watir 指令速查測試個案範例 (在google.com輸入查詢字串)

測試用的.rb檔支援中文字串方式: 1. 檔案以UTF-8格式存檔; 2. 檔案第一行加上 # encoding: UTF-8

以下影片是測試不同身份的使用者登入是否會出現對應的系統訊息,我才初窺自動化測試的堂奧而已,不得不說真的很好!很快!很厲害!

  

文章標籤
創作者介紹

資訊人在政府

資訊人在政府 發表在 痞客邦 PIXNET 留言(0) 人氣()