1. Software Quality in
Requirement Analysis &
Engineering
Faculty of Information Technology
King Mongkut’s University of Technology North Bangkok
Wednesday, January 30, 2013
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
2. Disclaimer
All information in this presentation is based on
speaker’s personal knowledge + experience + reality
(drama) that he lives in ...
!
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
3. Session Rules
Everybody should SPEAK
Ask QUESTION, Don’t Shy
Write QUESTION in Post-it
Set your mobile to SILENT
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
4. Who am I?
Prathan (Noom) Dansakulcharoenkit
Co-Founder/Practitioner/Coach/Transformer
of Agile/ITIL/Software Testing @ SPRINT3R
IT Development Consultant @ TARAD Dot Com
Founder and Web Master @ WeLoveBug.com
Scrum Master + ITIL Coach @ Opendream
Outsource Project Manager @ TARAD Dot Com
IT Development Manager @ TARAD Dot Com
Assistance Services & Operation Manager @ Sanook.com
QA Specialist @ Sanook.com
Tester @ Sanook.com
System Administrator @ POPidols.net
Freelance Programmer
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
5. Who are you?
Please introduce yourself following this questions
Your name and nickname?
Company you are working for?
What your company does?
What you do at company?
How your company build products?
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
6. Question 1
What is your PAIN POINT
of current development?
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
7. Software QUALITY
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
8. Quality Triangle
Software
Gap
Requirements Specification
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
9. Quality Triangle
Software
Specification
Requirements
It’s an IDEAL!!!
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
10. Question 2
Software
Specification
Requirements
How many figure of triangle can
TRANSFORM?
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
11. Quality Triangle
Software
Requirements Specification
In the real WORLD
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
12. Quality Triangle
Software
Requirements Specification
In the real WORLD
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
13. Quality Triangle
Software
Requirements Specification
In the real WORLD
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
14. Quality Triangle
Software
Specification
Requirements
In the real WORLD
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
15. Where Do Bug Come?
Requirements definition
System design
Implementation
Support systems
Lack of software testing skills
Evolution
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
16. Question 3
What is mainly CAUSE of
bugs and why?
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
17. Example
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
18. Introduction of Bugs
Majority of bugs are introduced during Requirements and Design phase.
Source: NIST 2002 RTI Project 7007.011 SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
19. Detection of Bugs
Majority of bugs are actually detected during user acceptance testing and in production
Source: NIST 2002 RTI Project 7007.011 SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
20. Assessing Cost of Bugs
The cost of correcting defects increase dramatically
This industry average in used as a baseline for arriving at cost savings
Source: B. Boehm and V. Basili, ‘Software Defect Reduction Top 10 List”, IEEE Computer SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
21. Question 6
Why Requirements are so
important?
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
23. Verification
and
Validation
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
24. Verification
Are we building the software RIGHT?
The software should conform to its specification
Peer Review and Inspection
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
25. Validation
Are we building the RIGHT software?
The software should do what the user really requires
Software Testing
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
26. Question 4
Software
Validation Verification
Requirements Specification
Requirement
Definition
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
27. Question 5
Validation
User Software Acceptance
Requirement Testing
Requirement System
Specification Testing
High Level Integration
Design Testing
Verification Detail Unit
Design Testing
Coding
V&V in Software Develop
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
28. Verification
Peer Review and Inspections
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
29. Validation
Software TESTING
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
30. Some Facts of Testing
ALWAYS be a chance that software will have bugs
CANNOT prove software works by testing it
DOES NOT prove that software is bug-free
Testing after software has been created DOES NOT
improve its quality
Cost of removing bugs rises DRAMATICALLY in the
later phases of the software development process
QUALITY depends on 3 factors; People, Process
and Tool
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
31. Some Goals of Testing
Determine a product MEET business expectation
MINIMIZE the risk of error occurs
IS NOT the process to verify software work correct
Testing must be to DEMONSTRATE that software
does have bug
Tester must find bug as EARLY as possible and
make sure that they are fixed
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
32. Some Testing Types
Unit testing
Integration testing
System testing
User Acceptance testing
Regression testing
Performance testing
Security testing
Usability testing
Compatibility testing
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
33. Testing Types
Integrate A
C
B
D Module
E
F G
System SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
34. Test Case
inputs to test system and verify
with expected outputs
Test Case = Test Rule + Test Data
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
35. Test Iterations
Test to Pass
Test to Fail
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
36. Team Organization
Traditional Organization
Biz
Tester
Dev
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
37. Question 7
Who feel responsible for
QUALITY in traditional
development (Waterfall)?
SOMEONE
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
38. Team Organization
Alternative Organization
Biz Dev
Tester
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
39. Question 8
Who feel responsible for
QUALITY in alternative
development (Agile)?
WHOLE TEAM
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
40. Question 9
How to validate
requirements?
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
41. Question 10
User Validation Acceptance
Software Testing
Requiremen System
t Testing
High Level Integration
Design Testing
Verification Detail Unit
Design Testing
Coding
ถึงแม้ประเทศไทยจะยังไม่นิยมทํา Quality Assurance (QA)
เท่าไรนัก ถ้าจะเสริม QA เข้าไปใน V&V มันจะอยู่ตรงไหน?
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
42. Question 11
มี Case มากน้อยแค่ไหน ที่ตอนทํา V&V ในช่วงเอกสาร URD
and SRS แล้วเห็นพ้องต้องกันทุกฝ่ายแล้วว่าใช่อย่างที่ต้องการ
พอได้ Product ออกมาแล้ว V&V ของฝั่ง Development
Team แล้วผ่านทุกประการ แต่ฝั่ง User กลับไม่เห็นด้วย โดย
ต้องมีการแก้ไขเยอะ กรณีแบบนี้มีหรือไม่ มากน้อยแค่ไหน แล้วจะ
สามารถแก้ไขสถานการณ์ หรือป้องกันสถานการณ์เหล่านี้ได้อย่างไร
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
43. Conclusion
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
44. Quality in every phase,
Not afterthought
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
45. Quality Improvement by
found defect EARLY
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
46. Inspect & Adapt
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
47. Questions & Answers
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
48. Keep in touch
email: prathan@sprint3r.com
twitter: @zyracuze
facebook: https://www.facebook/
WeLoveBug
training: http://bit.ly/SPRINT3REVENT
blog: www.welovebug.com
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13
49. Thanks You
กราบ (-/-)
SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖
Friday, February 1, 13