Upgrade to Pro — share decks privately, control downloads, hide ads and more …

如何使用 OData 來加速測試效率

Avatar for LittleLin LittleLin
August 17, 2017

如何使用 OData 來加速測試效率

Avatar for LittleLin

LittleLin

August 17, 2017
Tweet

More Decks by LittleLin

Other Decks in Programming

Transcript

  1. 守備範圍 ‒ 就只是個 NPC ERP ‒ .NET Tech Stack ‒

    EC 訂單成立前後的⾦金金、物流
  2. 撰寫 Feature 檔的痛點 ‒ 將 DB 查詢結果轉為 Gherkin 語法很費時 ‒

    時間成本 = 表格數 * 欄欄位數 ‒ 時間複雜度 = 時間成本 * 表格關聯聯數
  3. 舉例例? SELECT TOP 1 c.Id as CustomerId, c.Name as CustomerName,

    o.Id as [OrderId], o.Status as OrderStatus, p.Id as ProductId, p.Name as ProductName, od.UnitPrice, od.Quantity FROM [Customer] c JOIN [Order] o ON o.CustomerId = c.Id JOIN [OrderItem] od ON od.OrderId = o.Id JOIN [Product] p ON od.ProductId = p.Id ORDER BY o.CreatedTime
  4. ⼯工作項⽬目 ‒ 組出 SQL Query ‒ 將查詢結果,按照來來源表格分群 ‒ 將分群結果,轉為 Gherkin

    語法的 Given ‒ 考量量表格關聯聯性,Given 段落落需有順序性 (Customer -> Order -> Product -> OrderDetail)
  5. 以 SQL ⾓角度來來理理解 OData SELECT TOP 1 * FROM [Customer]

    c JOIN [Order] o ON o.CustomerId = c.Id /Customers?$top=1&$expand=Orders
  6. 使⽤用 OData 的好處 ‒ 使⽤用 RESTful API 查詢資料 ‒ 省去繁瑣的

    SQL 操作 ‒ 更更結構化、語意化的輸出結果
  7. 總結 ‒ OData 是好東⻄西 ‒ 使⽤用 OData CSDL 可以推導出 ER

    Model ‒ ERP Model 搭配 BFS 可以推導出新增測 試資料順序 ‒ 提升測試效率