SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
ซอฟต์แวร์มีหลายมิต	
                  ิ
มิติง่ายๆ
Functional Test Scenario &
                 Test Case
Non-Functional Test Scenario
                 & Test Case
Test Case
Traceability
Architecture Test Cases
Test Driven Development
                      4




    1                         5
         5    5

                          3
2




                  4
จะ Test อะไรกันดี????
จะ Test อะไรกันดี????
Attribute Refinements (Attributes
               of System Quality)
เทคนิคตีความ
•    ช่วงเวลา =          Availability
•    ความเร็ว/ปริมาณ                   =      Performance
•    อนาคตจะมีผู้ใช้/ฟังก์ชั่น/เซอร์วิสเพิ่ม =      Scalability
•    มีส่วนที่ต้องปรับปรุง/แก้ไข/เพิ่มเติมได้ =
           Modifiability
•    ซีเรียสเรื่องการเข้าใช้งาน/เข้าถึงข้อมูล =     Security
•    หน้าจอซับซ้อน/ผู้ใช้หลากหลาย             =     Usability
•    ต้องเชื่อมต่อกับ External Resources            =
           Integrability
•    External Resources หลากหลาย                    =
           Interoperability
•    มีการแลกเปลี่ยนข้อมูล/import/export/migrate =
           Portability
Simulate Test Environment for
           “Test Architecture”
Quality Scenarios
Non-Functional Test Case
Test	
  Case	
  ID:	
  XXX	
  
Test	
  Case	
  Name:	
  Test	
  ‘easy	
  use’	
  of	
  cri<cal	
  form	
Relevant	
  Requirement	
  IDs:	

Objec6ves:	
  เพื่อทดสอบว่าแบบฟอร์มสําคัญของระบบต้องใช้งานง่าย	
Approaches:	
  Non-­‐Func6onal	
  Test:	
  Usability	
Required	
  Input	
  /	
  Test	
  Data:	

Expected	
  Output	
  /	
  Outcome: 80% ของผู้ใช้ทั้งหมด ให้คะแนนความง่ายไม่ต่ํากว่า	
  80 คะแนน	
No.	
                                        Ac6vity	
                               Pass?	
      Fail?	
     Remark/Condi6on	
1.	


Test	
  Case	
  ID:	
  XXX	
  
Test	
  Case	
  Name:	
  Test	
  ‘handling	
  load’	
  of	
  withdraw	
  request	
  (16:00	
  –	
  18:00)	
Relevant	
  Requirement	
  IDs:	

Objec6ves:	
  เพื่อทดสอบว่าระบบ Core	
  Bank	
  System รองรับโหลด	
  request ‘ถอนเงิน’	
  ในช่วงเวลา	
  
16:00-­‐18:00	
  ได้	
Approaches:	
  Non-­‐Func6onal	
  Test:	
  Performance	
  +	
  Availability	
  +	
  Reliability	
Required	
  Input	
  /	
  Test	
  Data: จํานวนตู้ทั้งหมด	
  1,500 ตู้ทั่วประเทศ	

Expected	
  Output	
  /	
  Outcome: รองรับ	
  Request ‘ถอนเงิน’	
  ได้ 40	
  request/ตู้/ช.ม. ช่วงเวลา	
  
16:00-­‐18:00
Non-Functional Test Case
Test	
  Case	
  ID:	
  XXX	
  
Test	
  Case	
  Name:	
  Test	
  ‘avg	
  response	
  <me’	
  aTer	
  service	
  increased	
Relevant	
  Requirement	
  IDs:	

Objec6ves:	
  เพื่อทดสอบว่าค่า	
  response	
  <me เฉลี่ยของทุก	
  TX ต้องเท่าเดิม แม้มีบริการเพิ่มขึ้นภาย
หลัง	
Approaches:	
  Non-­‐Func6onal	
  Test:	
  Scalability	
  +	
  Performance	
  +	
  Reliability	
Required	
  Input	
  /	
  Test	
  Data:	

Expected	
  Output	
  /	
  Outcome: avg	
  response	
  <me	
  <=	
  X	
  วินาที	
  (+/-­‐	
  Y	
  วินาที) นับจาก	
  ATM	
  -­‐>	
  CBS	
  -­‐>	
  
ATM	
No.	
                                        Ac6vity	
                                      Pass?	
      Fail?	
          Remark/Condi6on	
1.
Quality Scenarios
Non-Functional Test Case
Test	
  Case	
  ID:	
  XXX	
  
Test	
  Case	
  Name:	
  Test	
  ‘scheduling’	
  of	
  load	
  balancer	
Relevant	
  Requirement	
  IDs:	

Objec6ves:	
  เพื่อทดสอบการ	
  scheduling ของการ dispatch	
  request ไปยังเว็บเซิร์ฟเวอร์	
Approaches:	
  Non-­‐Func6onal	
  Test:	
  Performance	
  +	
  Reliability +	
  Availability	
  +	
  Scalability	
Required	
  Input	
  /	
  Test	
  Data:	

Expected	
  Output	
  /	
  Outcome: dispatch	
  ได้สม่ําเสมอ เป็นธรรม!	
  สมดุลกับ	
  resource ที่เหลือของเว็บ
เซิร์ฟเวอร์	
No.	
                                       Ac6vity	
                          Pass?	
     Fail?	
        Remark/Condi6on	
1.
Quality Scenarios
Non-Functional Test Case
Test	
  Case	
  ID:	
  XXX	
  
Test	
  Case	
  Name:	
  Test	
  ‘balance	
  of	
  stateless	
  object	
  crea<on’	
Relevant	
  Requirement	
  IDs:	

Objec6ves:	
  เพื่อทดสอบ latency ในการสร้าง	
  stateless	
  object (เช่น XXXWebCMD และ
XXXBusinessService) ที่ต้องสมดุลกับปริมาณ	
  incoming	
  request	
Approaches:	
  Non-­‐Func6onal	
  Test:	
  Performance	
  +	
  Scalability	
  +	
  Availability	
  +	
  Reliability	
Required	
  Input	
  /	
  Test	
  Data:	

Expected	
  Output	
  /	
  Outcome: เมื่อ	
  client	
  request มาถึงอ็อบเจ็คต์ที่ต้องการใช้	
  (a) ต้องใช้เวลาไม่เกิน	
  
x	
  ms ในการสร้างและเตรียมจน client	
  request ได้เริ่มใช้	
  (b)	
  ตัวอย่างสมการ	
  b	
  –	
  a	
  <=	
  x	
  ms	
No.	
                                       Ac6vity	
                                  Pass?	
   Fail?	
       Remark/Condi6on	
1.	

Test	
  Case	
  ID:	
  XXX	
  
Test	
  Case	
  Name:	
  Test	
  ‘offline	
  locking	
  strategy’	
  of	
  shared	
  resource	
  (MFU)	
  for	
  upexpected	
  TX	
Relevant	
  Requirement	
  IDs:	

Objec6ves:	
  เพื่อทดสอบการเข้าถึง	
  shared	
  resource ที่ถูกเข้าถึงบ่อยๆ โดย	
  TX คาดการณ์ไม่ได้ว่าจะ	
  
commit เมื่อไหร่	
Approaches:	
  Non-­‐Func6onal	
  Test:	
  Availability	
Required	
  Input	
  /	
  Test	
  Data:	

Expected	
  Output	
  /	
  Outcome: offline	
  locking	
  strategy ต้องเป็น	
  op<mis<c	
  lock	
No.	
                                       Ac6vity	
                                  Pass?	
   Fail?	
       Remark/Condi6on
Quality Scenarios
Non-Functional Test Case
Test	
  Case	
  ID:	
  XXX	
  
Test	
  Case	
  Name:	
  Test	
  size	
  of	
  ‘unwanted’	
  data	
  sending	
  from	
  service	
  to	
  client	
Relevant	
  Requirement	
  IDs:	

Objec6ves:	
  เพื่อทดสอบการขนาดข้อมูลที่ส่งจากเซอร์วิสกลับไปยังไคลเอ็นต์ ซึ่งเป็นข้อมูลส่วนที่
ไคลเอ็นต์ไม่ต้องการใช้	
Approaches:	
  Non-­‐Func6onal	
  Test:	
  Performance	
  +	
  Availability	
Required	
  Input	
  /	
  Test	
  Data:	

Expected	
  Output	
  /	
  Outcome: size	
  of	
  unwanted	
  data	
  =	
  0	
  byte!	
No.	
                                       Ac6vity	
                                   Pass?	
     Fail?	
         Remark/Condi6on	
1.	

Test	
  Case	
  ID:	
  XXX	
  
Test	
  Case	
  Name:	
  Test	
  ‘Data	
  Source’s configura<on’	
  modifica<on	
  online	
Relevant	
  Requirement	
  IDs:	

Objec6ves:	
  เพื่อทดสอบการแก้ไขค่าคอนฟิกฯ ของ	
  Data	
  Source ขณะออนไลน์ โดยไม่ต้อง	
  
shutdown	
  system	
Approaches:	
  Non-­‐Func6onal	
  Test:	
  Modifiability	
  +	
  Availability	
Required	
  Input	
  /	
  Test	
  Data:	

Expected	
  Output	
  /	
  Outcome: repair	
  <me	
  =	
  0	
  วินาที	
No.	
                                       Ac6vity	
                                   Pass?	
     Fail?	
         Remark/Condi6on
Non-Functional Test Case
Test	
  Case	
  ID:	
  XXX	
  
Test	
  Case	
  Name:	
  Test	
  ‘evic<on’	
  of	
  LRU	
  resource	
  in	
  pool	
  and	
  cache	
Relevant	
  Requirement	
  IDs:	

Objec6ves:	
  เพื่อทดสอบการ ‘เคลียร์’ resource ที่ไม่ค่อยได้ใช้ออกจาก	
  pool และ	
  cache	
Approaches:	
  Non-­‐Func6onal	
  Test:	
  Performance	
  +	
  Availability +	
  Scalability	
Required	
  Input	
  /	
  Test	
  Data:	

Expected	
  Output	
  /	
  Outcome: evict/passivate/swap	
  out/delete/serialize	
  ทันทีเมื่อ	
  resource นั้น
ครบ	
  idle	
  <me	
  out ตามที่คอนฟิกฯ ไว้	
No.	
                                       Ac6vity	
                                   Pass?	
       Fail?	
   Remark/Condi6on	
1.
Non-Functional Test Case
Test	
  Case	
  ID:	
  XXX	
  
Test	
  Case	
  Name:	
  Test	
  ‘evic<on’	
  of	
  LRU	
  resource	
  in	
  pool	
  and	
  cache	
Relevant	
  Requirement	
  IDs:	

Objec6ves:	
  เพื่อทดสอบการ ‘เคลียร์’ resource ที่ไม่ค่อยได้ใช้ออกจาก	
  pool และ	
  cache	
Approaches:	
  Non-­‐Func6onal	
  Test:	
  Performance	
  +	
  Availability +	
  Scalability	
Required	
  Input	
  /	
  Test	
  Data:	

Expected	
  Output	
  /	
  Outcome: evict/passivate/swap	
  out/delete/serialize	
  ทันทีเมื่อ	
  resource นั้น
ครบ	
  idle	
  <me	
  out ตามที่คอนฟิกฯ ไว้	
No.	
                                       Ac6vity	
                                   Pass?	
       Fail?	
   Remark/Condi6on	
1.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretesting
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 
Manual testing
Manual testingManual testing
Manual testing
 
Fundamentals of Testing
Fundamentals of TestingFundamentals of Testing
Fundamentals of Testing
 
[오픈소스컨설팅] jira service desk 201908
[오픈소스컨설팅] jira service desk 201908[오픈소스컨설팅] jira service desk 201908
[오픈소스컨설팅] jira service desk 201908
 
ISTQB - What's testing
ISTQB - What's testingISTQB - What's testing
ISTQB - What's testing
 
Chapter 3 - Static Testing
Chapter 3 - Static TestingChapter 3 - Static Testing
Chapter 3 - Static Testing
 
Framework For Automation Testing Practice Sharing
Framework For Automation Testing Practice SharingFramework For Automation Testing Practice Sharing
Framework For Automation Testing Practice Sharing
 
Eng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validaçãoEng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validação
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
ISO 15504
ISO 15504ISO 15504
ISO 15504
 
Software Testing: History, Trends, Perspectives - a Brief Overview
Software Testing: History, Trends, Perspectives - a Brief OverviewSoftware Testing: History, Trends, Perspectives - a Brief Overview
Software Testing: History, Trends, Perspectives - a Brief Overview
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
API Testing with Open Source Code and Cucumber
API Testing with Open Source Code and CucumberAPI Testing with Open Source Code and Cucumber
API Testing with Open Source Code and Cucumber
 
User Acceptance Testing- Evaluate Your System's Compliance
User Acceptance Testing- Evaluate Your System's ComplianceUser Acceptance Testing- Evaluate Your System's Compliance
User Acceptance Testing- Evaluate Your System's Compliance
 
Software test life cycle
Software test life cycleSoftware test life cycle
Software test life cycle
 

Más de Prathan Dansakulcharoenkit

Web Application Security Testing - Aware in BugDay Bangkok 2012
Web Application Security Testing - Aware in BugDay Bangkok 2012Web Application Security Testing - Aware in BugDay Bangkok 2012
Web Application Security Testing - Aware in BugDay Bangkok 2012
Prathan Dansakulcharoenkit
 
The audacity of quality requirement-non functional testing- Aware in BugDay B...
The audacity of quality requirement-non functional testing- Aware in BugDay B...The audacity of quality requirement-non functional testing- Aware in BugDay B...
The audacity of quality requirement-non functional testing- Aware in BugDay B...
Prathan Dansakulcharoenkit
 
How to live with agile - Aware in BugDay Bangkok 2012
How to live with agile - Aware in BugDay Bangkok 2012How to live with agile - Aware in BugDay Bangkok 2012
How to live with agile - Aware in BugDay Bangkok 2012
Prathan Dansakulcharoenkit
 
Writing Effective Bug Report - BugDay Bangkok 2012
Writing Effective Bug Report - BugDay Bangkok 2012Writing Effective Bug Report - BugDay Bangkok 2012
Writing Effective Bug Report - BugDay Bangkok 2012
Prathan Dansakulcharoenkit
 
Test Case and User Story - BugDay Bangkok 2012
Test Case and User Story - BugDay Bangkok 2012Test Case and User Story - BugDay Bangkok 2012
Test Case and User Story - BugDay Bangkok 2012
Prathan Dansakulcharoenkit
 

Más de Prathan Dansakulcharoenkit (20)

QA Talk in Chiang Mai Community of Practice Meet Up 1/2017
QA Talk in Chiang Mai Community of Practice Meet Up 1/2017QA Talk in Chiang Mai Community of Practice Meet Up 1/2017
QA Talk in Chiang Mai Community of Practice Meet Up 1/2017
 
IMC Monthly Talk: 10 ข้อที่ควรจะต้องทำในการเริ่มต้นนำ Agile for Software Deve...
IMC Monthly Talk: 10 ข้อที่ควรจะต้องทำในการเริ่มต้นนำ Agile for Software Deve...IMC Monthly Talk: 10 ข้อที่ควรจะต้องทำในการเริ่มต้นนำ Agile for Software Deve...
IMC Monthly Talk: 10 ข้อที่ควรจะต้องทำในการเริ่มต้นนำ Agile for Software Deve...
 
PROJECT MANAGEMENT TRAINING 09-22-2011
PROJECT MANAGEMENT TRAINING 09-22-2011PROJECT MANAGEMENT TRAINING 09-22-2011
PROJECT MANAGEMENT TRAINING 09-22-2011
 
tpse-sprint3r-software-testing-you-know-maybe
tpse-sprint3r-software-testing-you-know-maybetpse-sprint3r-software-testing-you-know-maybe
tpse-sprint3r-software-testing-you-know-maybe
 
SPRINT3R-SWPSDLC2556-CLOSING
SPRINT3R-SWPSDLC2556-CLOSINGSPRINT3R-SWPSDLC2556-CLOSING
SPRINT3R-SWPSDLC2556-CLOSING
 
Introduction to Scrum version 3.1
Introduction to Scrum version 3.1Introduction to Scrum version 3.1
Introduction to Scrum version 3.1
 
SPRINT3R-MY-CITY
SPRINT3R-MY-CITYSPRINT3R-MY-CITY
SPRINT3R-MY-CITY
 
อไจล์ ๑๐๑ รุ่น ๓.๐
อไจล์ ๑๐๑ รุ่น ๓.๐อไจล์ ๑๐๑ รุ่น ๓.๐
อไจล์ ๑๐๑ รุ่น ๓.๐
 
Geek Academy Introduction to Agile
Geek Academy Introduction to AgileGeek Academy Introduction to Agile
Geek Academy Introduction to Agile
 
Sprint3 r agile101-introduction-18052556
Sprint3 r agile101-introduction-18052556Sprint3 r agile101-introduction-18052556
Sprint3 r agile101-introduction-18052556
 
hello-my-name-is-software-testing-v2-pdf
hello-my-name-is-software-testing-v2-pdfhello-my-name-is-software-testing-v2-pdf
hello-my-name-is-software-testing-v2-pdf
 
Opening Session of BugDay Bangkok 2012
Opening Session of BugDay Bangkok 2012Opening Session of BugDay Bangkok 2012
Opening Session of BugDay Bangkok 2012
 
Web Application Security Testing - Aware in BugDay Bangkok 2012
Web Application Security Testing - Aware in BugDay Bangkok 2012Web Application Security Testing - Aware in BugDay Bangkok 2012
Web Application Security Testing - Aware in BugDay Bangkok 2012
 
The audacity of quality requirement-non functional testing- Aware in BugDay B...
The audacity of quality requirement-non functional testing- Aware in BugDay B...The audacity of quality requirement-non functional testing- Aware in BugDay B...
The audacity of quality requirement-non functional testing- Aware in BugDay B...
 
How to live with agile - Aware in BugDay Bangkok 2012
How to live with agile - Aware in BugDay Bangkok 2012How to live with agile - Aware in BugDay Bangkok 2012
How to live with agile - Aware in BugDay Bangkok 2012
 
Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Pan...
Achieving Zero Defect with Agile Methods BugDay Bangkok 2012  โดย Varokas Pan...Achieving Zero Defect with Agile Methods BugDay Bangkok 2012  โดย Varokas Pan...
Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Pan...
 
Hyper Productivity BugDay Bangkok 2012 - โดย Chokchai Phatharamalai
Hyper Productivity BugDay Bangkok 2012 - โดย Chokchai Phatharamalai Hyper Productivity BugDay Bangkok 2012 - โดย Chokchai Phatharamalai
Hyper Productivity BugDay Bangkok 2012 - โดย Chokchai Phatharamalai
 
Writing Effective Bug Report - BugDay Bangkok 2012
Writing Effective Bug Report - BugDay Bangkok 2012Writing Effective Bug Report - BugDay Bangkok 2012
Writing Effective Bug Report - BugDay Bangkok 2012
 
Test Case and User Story - BugDay Bangkok 2012
Test Case and User Story - BugDay Bangkok 2012Test Case and User Story - BugDay Bangkok 2012
Test Case and User Story - BugDay Bangkok 2012
 
Data, Information and Analyst
Data, Information and AnalystData, Information and Analyst
Data, Information and Analyst
 

ออกแบบ Test Cases เพื่อทำ Non-Functional Test โดย คุณณรงค์ จันทร์สร้อย

  • 1.
  • 2.
  • 10. Test Driven Development 4 1 5 5 5 3 2 4
  • 13. Attribute Refinements (Attributes of System Quality)
  • 14. เทคนิคตีความ •  ช่วงเวลา = Availability •  ความเร็ว/ปริมาณ = Performance •  อนาคตจะมีผู้ใช้/ฟังก์ชั่น/เซอร์วิสเพิ่ม = Scalability •  มีส่วนที่ต้องปรับปรุง/แก้ไข/เพิ่มเติมได้ = Modifiability •  ซีเรียสเรื่องการเข้าใช้งาน/เข้าถึงข้อมูล = Security •  หน้าจอซับซ้อน/ผู้ใช้หลากหลาย = Usability •  ต้องเชื่อมต่อกับ External Resources = Integrability •  External Resources หลากหลาย = Interoperability •  มีการแลกเปลี่ยนข้อมูล/import/export/migrate = Portability
  • 15. Simulate Test Environment for “Test Architecture”
  • 17. Non-Functional Test Case Test  Case  ID:  XXX   Test  Case  Name:  Test  ‘easy  use’  of  cri<cal  form Relevant  Requirement  IDs: Objec6ves:  เพื่อทดสอบว่าแบบฟอร์มสําคัญของระบบต้องใช้งานง่าย Approaches:  Non-­‐Func6onal  Test:  Usability Required  Input  /  Test  Data: Expected  Output  /  Outcome: 80% ของผู้ใช้ทั้งหมด ให้คะแนนความง่ายไม่ต่ํากว่า  80 คะแนน No. Ac6vity Pass? Fail? Remark/Condi6on 1. Test  Case  ID:  XXX   Test  Case  Name:  Test  ‘handling  load’  of  withdraw  request  (16:00  –  18:00) Relevant  Requirement  IDs: Objec6ves:  เพื่อทดสอบว่าระบบ Core  Bank  System รองรับโหลด  request ‘ถอนเงิน’  ในช่วงเวลา   16:00-­‐18:00  ได้ Approaches:  Non-­‐Func6onal  Test:  Performance  +  Availability  +  Reliability Required  Input  /  Test  Data: จํานวนตู้ทั้งหมด  1,500 ตู้ทั่วประเทศ Expected  Output  /  Outcome: รองรับ  Request ‘ถอนเงิน’  ได้ 40  request/ตู้/ช.ม. ช่วงเวลา   16:00-­‐18:00
  • 18. Non-Functional Test Case Test  Case  ID:  XXX   Test  Case  Name:  Test  ‘avg  response  <me’  aTer  service  increased Relevant  Requirement  IDs: Objec6ves:  เพื่อทดสอบว่าค่า  response  <me เฉลี่ยของทุก  TX ต้องเท่าเดิม แม้มีบริการเพิ่มขึ้นภาย หลัง Approaches:  Non-­‐Func6onal  Test:  Scalability  +  Performance  +  Reliability Required  Input  /  Test  Data: Expected  Output  /  Outcome: avg  response  <me  <=  X  วินาที  (+/-­‐  Y  วินาที) นับจาก  ATM  -­‐>  CBS  -­‐>   ATM No. Ac6vity Pass? Fail? Remark/Condi6on 1.
  • 20. Non-Functional Test Case Test  Case  ID:  XXX   Test  Case  Name:  Test  ‘scheduling’  of  load  balancer Relevant  Requirement  IDs: Objec6ves:  เพื่อทดสอบการ  scheduling ของการ dispatch  request ไปยังเว็บเซิร์ฟเวอร์ Approaches:  Non-­‐Func6onal  Test:  Performance  +  Reliability +  Availability  +  Scalability Required  Input  /  Test  Data: Expected  Output  /  Outcome: dispatch  ได้สม่ําเสมอ เป็นธรรม!  สมดุลกับ  resource ที่เหลือของเว็บ เซิร์ฟเวอร์ No. Ac6vity Pass? Fail? Remark/Condi6on 1.
  • 22. Non-Functional Test Case Test  Case  ID:  XXX   Test  Case  Name:  Test  ‘balance  of  stateless  object  crea<on’ Relevant  Requirement  IDs: Objec6ves:  เพื่อทดสอบ latency ในการสร้าง  stateless  object (เช่น XXXWebCMD และ XXXBusinessService) ที่ต้องสมดุลกับปริมาณ  incoming  request Approaches:  Non-­‐Func6onal  Test:  Performance  +  Scalability  +  Availability  +  Reliability Required  Input  /  Test  Data: Expected  Output  /  Outcome: เมื่อ  client  request มาถึงอ็อบเจ็คต์ที่ต้องการใช้  (a) ต้องใช้เวลาไม่เกิน   x  ms ในการสร้างและเตรียมจน client  request ได้เริ่มใช้  (b)  ตัวอย่างสมการ  b  –  a  <=  x  ms No. Ac6vity Pass? Fail? Remark/Condi6on 1. Test  Case  ID:  XXX   Test  Case  Name:  Test  ‘offline  locking  strategy’  of  shared  resource  (MFU)  for  upexpected  TX Relevant  Requirement  IDs: Objec6ves:  เพื่อทดสอบการเข้าถึง  shared  resource ที่ถูกเข้าถึงบ่อยๆ โดย  TX คาดการณ์ไม่ได้ว่าจะ   commit เมื่อไหร่ Approaches:  Non-­‐Func6onal  Test:  Availability Required  Input  /  Test  Data: Expected  Output  /  Outcome: offline  locking  strategy ต้องเป็น  op<mis<c  lock No. Ac6vity Pass? Fail? Remark/Condi6on
  • 24. Non-Functional Test Case Test  Case  ID:  XXX   Test  Case  Name:  Test  size  of  ‘unwanted’  data  sending  from  service  to  client Relevant  Requirement  IDs: Objec6ves:  เพื่อทดสอบการขนาดข้อมูลที่ส่งจากเซอร์วิสกลับไปยังไคลเอ็นต์ ซึ่งเป็นข้อมูลส่วนที่ ไคลเอ็นต์ไม่ต้องการใช้ Approaches:  Non-­‐Func6onal  Test:  Performance  +  Availability Required  Input  /  Test  Data: Expected  Output  /  Outcome: size  of  unwanted  data  =  0  byte! No. Ac6vity Pass? Fail? Remark/Condi6on 1. Test  Case  ID:  XXX   Test  Case  Name:  Test  ‘Data  Source’s configura<on’  modifica<on  online Relevant  Requirement  IDs: Objec6ves:  เพื่อทดสอบการแก้ไขค่าคอนฟิกฯ ของ  Data  Source ขณะออนไลน์ โดยไม่ต้อง   shutdown  system Approaches:  Non-­‐Func6onal  Test:  Modifiability  +  Availability Required  Input  /  Test  Data: Expected  Output  /  Outcome: repair  <me  =  0  วินาที No. Ac6vity Pass? Fail? Remark/Condi6on
  • 25. Non-Functional Test Case Test  Case  ID:  XXX   Test  Case  Name:  Test  ‘evic<on’  of  LRU  resource  in  pool  and  cache Relevant  Requirement  IDs: Objec6ves:  เพื่อทดสอบการ ‘เคลียร์’ resource ที่ไม่ค่อยได้ใช้ออกจาก  pool และ  cache Approaches:  Non-­‐Func6onal  Test:  Performance  +  Availability +  Scalability Required  Input  /  Test  Data: Expected  Output  /  Outcome: evict/passivate/swap  out/delete/serialize  ทันทีเมื่อ  resource นั้น ครบ  idle  <me  out ตามที่คอนฟิกฯ ไว้ No. Ac6vity Pass? Fail? Remark/Condi6on 1.
  • 26. Non-Functional Test Case Test  Case  ID:  XXX   Test  Case  Name:  Test  ‘evic<on’  of  LRU  resource  in  pool  and  cache Relevant  Requirement  IDs: Objec6ves:  เพื่อทดสอบการ ‘เคลียร์’ resource ที่ไม่ค่อยได้ใช้ออกจาก  pool และ  cache Approaches:  Non-­‐Func6onal  Test:  Performance  +  Availability +  Scalability Required  Input  /  Test  Data: Expected  Output  /  Outcome: evict/passivate/swap  out/delete/serialize  ทันทีเมื่อ  resource นั้น ครบ  idle  <me  out ตามที่คอนฟิกฯ ไว้ No. Ac6vity Pass? Fail? Remark/Condi6on 1.