Slide 1

Slide 1 text

Software Testing 20171220 Proko Chou

Slide 2

Slide 2 text

Agenda 1. QA vs. QC vs. SDET (SET) 2. Test Methodologies 3. Software Testing Models 4. Testing Type and Life Cycle 5. How to create test plan? 6. How to create test case? 7. Good QA Practice 8. Reference

Slide 3

Slide 3 text

QA vs. QC vs. SDET Quality Assurance (QA): Focus on quality from developing to release: 主要注重於開發流程品質管理與監控 關鍵字:預防錯誤, 開發建議導向 Quality Control (QC): Focus on quality before product release: 主要注重於通過率,正確率 關鍵字:正確率, 量化測試, 功能性導向 Software Development Engineer in Test (SDET): Development of the Test Infrastructure which will be used to execute the test cases for a feature / product.

Slide 4

Slide 4 text

Agenda 1. QA vs. QC vs. SDET 2. Test Methodologies 3. Software Testing Models 4. Testing Type and Life Cycle 5. How to create test plan? 6. How to create test case? 7. Good QA Practice

Slide 5

Slide 5 text

Test Methodologies (1 / 2) ● White Box (白箱測試) ● Black Box (黑箱測試)

Slide 6

Slide 6 text

Test Methodologies (2 / 2)

Slide 7

Slide 7 text

Software Testing Models (cont.) ● 瀑布式模型 (Waterfall Mode) ● 漸進式模型 (Incremental Mode) ● V 型 (V Shape Mode) ● 原型快速開發 (Rapid Prototype Mode) ● 敏捷型 (Agile Mode) ● ...

Slide 8

Slide 8 text

Software Testing Models (cont.) ● 瀑布式模型 (Waterfall Mode) ● 漸進式模型 (Incremental Mode) ● V 型 (V Shape Mode) ● 原型快速開發 (Rapid Prototype Mode) ● 敏捷型 (Agile Mode) ● ...

Slide 9

Slide 9 text

Software Testing Models: Waterfall Model (cont.)

Slide 10

Slide 10 text

Software Testing Models: V型模式

Slide 11

Slide 11 text

Software Testing Models: Agile Testing Model (1/ 2)

Slide 12

Slide 12 text

Software Testing Models: Agile Testing Model (1/ 2)

Slide 13

Slide 13 text

Software Testing Models: Agile Testing Model (2/ 2)

Slide 14

Slide 14 text

Agenda 1. QA vs. QC vs. SDET 2. Test Methodologies 3. Software Testing Models 4. Testing Type and Testing Life Cycle 5. How to create test plan? 6. How to create test case? 7. Good QA Practice

Slide 15

Slide 15 text

Testing Type and Life Cycle ● Unit Test ● Testing Life Cycle

Slide 16

Slide 16 text

Testing Levels: Unit Test (cont.) ● Tests each module individually ● Follows a white box testing (Logic of the program) ● Done by developers

Slide 17

Slide 17 text

Browser Unit Test Plan: 1. Caniuse http://tests.caniuse.com/ 2. ECMAScript 5 compatibility table (以JavaScript 5為主) http://kangax.github.io/compat-table https://github.com/kangax/compat-table 3. Rambutan https://dev-tpe.cloudmosa.com/~pingyen/rambutan/

Slide 18

Slide 18 text

Testing Levels: Testing Life Cycle Project Initiation System Study Test Plan Design Test cases Execute Test Cases (manual/ automated) Report Defects Analysis Regression Test Summary Reports 1

Slide 19

Slide 19 text

Testing Levels: Testing Life Cycle Project Initiation System Study Test Plan Design Test cases Execute Test Cases (manual/ automated) Report Defects Analysis Regression Test Summary Reports 2

Slide 20

Slide 20 text

Testing Levels: Testing Life Cycle Project Initiation System Study Test Plan Design Test cases Execute Test Cases (manual/ automated) Report Defects Analysis Regression Test Summary Reports 3

Slide 21

Slide 21 text

Testing Levels: Testing Life Cycle Project Initiation System Study Test Plan Design Test cases Execute Test Cases (manual/ automated) Report Defects Analysis Regression Test Summary Reports 4

Slide 22

Slide 22 text

Testing Levels: Testing Life Cycle Project Initiation System Study Test Plan Design Test cases Execute Test Cases (manual/ automated) Report Defects Analysis Regression Test Summary Reports 5

Slide 23

Slide 23 text

Testing Levels: Testing Life Cycle Project Initiation System Study Test Plan Design Test cases Execute Test Cases (manual/ automated) Report Defects Analysis Regression Test Summary Reports 6

Slide 24

Slide 24 text

Testing Levels: Testing Life Cycle Project Initiation System Study Test Plan Design Test cases Execute Test Cases (manual/ automated) Report Defects Analysis Regression Test Summary Reports 7

Slide 25

Slide 25 text

Testing Levels: Testing Life Cycle Project Initiation System Study Test Plan Design Test cases Execute Test Cases (manual/ automated) Report Defects Analysis Regression Test Summary Reports 8

Slide 26

Slide 26 text

Testing Levels: Testing Life Cycle Project Initiation System Study Test Plan Design Test cases Execute Test Cases (manual/ automated) Report Defects Analysis Regression Test Summary Reports 9

Slide 27

Slide 27 text

Testing Levels: Testing Life Cycle Project Initiation System Study Test Plan Design Test cases Execute Test Cases (manual/ automated) Report Defects Analysis Regression Test Summary Reports

Slide 28

Slide 28 text

Testing Levels: Test Report

Slide 29

Slide 29 text

How to create test case?

Slide 30

Slide 30 text

Systematic Testing

Slide 31

Slide 31 text

Basic Function ● 使用者介面 (UI / Multi-Language / IME Check) ● 邊界 (Boundary) ● 記憶體釋放 (Memory leakage) ● 錯誤處理 (Error Handling) ● 安裝(Install) 、反安裝 (Uninstall) ● 使用者資料保存 (Data Migration) ● 重啟 (After relaunching) ● 清除App資料 (After clearing application’s data) ● 清除整台機器的資料 (After resetting the device)

Slide 32

Slide 32 text

Basic Function ● 使用者介面 (UI / Multi-Language / IME Check) ● 邊界 (Boundary) ● 記憶體釋放 (Memory leakage) ● 錯誤處理 (Error Handling) ● 重啟 (After relaunching) ● 使用者資料保存 (Data Migration) ● 取消該功能的使用 (Stop feature function) ● 安裝(Install) 、反安裝 (Uninstall) ● 清除App資料 (After clearing application’s data) ● 清除整台機器的資料 (After resetting the device)

Slide 33

Slide 33 text

Integration

Slide 34

Slide 34 text

Integration: Internet

Slide 35

Slide 35 text

Integration: Internet (1/2) Airplane Mode VPN Under connecting or loading No Connection (Use Metallic box) Connect via proxy Weak signal (Use Elevator) Normal Connection Data Connection

Slide 36

Slide 36 text

Integration: Internet (2/2) Emulate network connectivity: ● Facebook Augmented Traffic Control, ATC: Reference: Link 1, Link 2 ● iOS Developer Network Link Conditioner: Reference: Link Facebook ATC iOS Developer Tool

Slide 37

Slide 37 text

Integration: Keyboard ● Android: Google, Samsung, Asus, bluetooth keyboard, pen, voice input, etc. ● iOS: iAcess, voice input and split keyboard (Link) iOS: Split keyboard Bluetooth keyboard Pen

Slide 38

Slide 38 text

Integration: Other Apps’ functions ○ Other applications: ■ Incoming phone call ■ Alarm ■ Voice assistant (e.g., Siri) ■ Album ■ Camera ○ Device: ■ Power off/ Resume device ■ Support split screen function ■ Support 3D touch function

Slide 39

Slide 39 text

Stability/ Stress Test ● Keep using over X times ● Keep using over X hours ● Keep relaunching Puffin X times

Slide 40

Slide 40 text

Power Consumption ● How many hours does Puffin keep working? ● Compare to other browsers

Slide 41

Slide 41 text

Good QA Practice

Slide 42

Slide 42 text

Practices ● The quality of issue ● Create test plan ● Create test data ● Create test case ● Create more values

Slide 43

Slide 43 text

The Quality of Issue Definition: QA project owner, RD engineers or PM can understand the issues quickly without any further discussion. 1. Clear Summary 2. Clear steps 3. Version 4. Attachment: Video, image or the logs. 5. Spelling

Slide 44

Slide 44 text

Create Test Plan ● New Feature ● Basic Function Test (Level 1) ● Full Test (Level 2, Level 3) ● Regression Test ● Explore test

Slide 45

Slide 45 text

Test Data Collection 1. Find existed test data on internet. 2. Create HTML page.

Slide 46

Slide 46 text

Values 1. Make sure no major defects in product 2. Provide good service for RD engineers and end users. 3. Figure out what users want and why they want it 4. Figure out the problem which users complain 5. Domain Knowledge 6. Automation Testing Tools Knowledge 7. Certifications – QAI, ASQ, ISQTB

Slide 47

Slide 47 text

ISTQB

Slide 48

Slide 48 text

Career Options for Software Test Professionals

Slide 49

Slide 49 text

Reference

Slide 50

Slide 50 text

Reference (cont.) Browser及網站架構: 1. Browser架構介紹:https://my.oschina.net/anna153/blog/377259?fromerr=vJhPg1VA 2. 網站架構:http://www.books.com.tw/products/0010719526 線上學習code: 1. Code academy: https://www.codecademy.com/ 2. Udemy: https://www.udemy.com/

Slide 51

Slide 51 text

Reference 網站: 1. http://www.softwaretestinghelp.com/ 2. https://testerhome.com/ 3. LinkedIn: Search QA and join group 測試相關書籍: 1. 大話測試 1 &2 2. Google 軟體測試之道 3. 約耳趣談軟體 社群:搜尋「Test Corner」in Facebook 課程:http://www.csq.org.tw/ct.asp?xItem=435&ctNode=30

Slide 52

Slide 52 text

Q & A