You are on page 1of 62

SF332

การทดสอบและประกันคุณภาพซอฟต์แวร์
Software Testing and Quality Assurance

Week 6
Test Tool

SF332 Software Testing and Quality Assurance 1


Agenda
เครื่องมือทดสอบคืออะไร
(What is test tools)

เครื่องมือทดสอบ แบ่งตามกิจกรรมการทดสอบ

ความเสี่ยงและการเลือกใช้เครื่องมือทดสอบ

SF332 Software Testing and Quality Assurance 2


เครื่องมือทดสอบคืออะไร (What is test tools)
คือ เครื่องมือสำหรับใช้ในกำรทดสอบ ตำมกิจกรรมกำรทดสอบ (testing activity) หรือใช้สำหรับ
ทดสอบตำมตำมกิจกรรมเฉพำะอย่ำง

o CASE -> Computer aid SW Engineering


o CAST -> Computer aid SW Testing -> CAD (Design) / CAM (Manufacturing)
SF332 Software Testing and Quality Assurance 3
เครื่องมือทดสอบคืออะไร (What is test tools) cont.
• เช่น
• เครื่องมือช่วยสำหรับกำร execution และจัดเตรียมข้อมูลกำรทดสอบ
• เครื่องมือในช่วยกำรบริหำรจัดกำรกำรทดสอบ เช่น manage requirements, test case, test
procedures , automate test script, test results, test data, defects, report and
monitor test execution
• เครื่องมือสำหรับช่วยวิเครำะห์และประเมินสิทธิภำพของซอฟต์แวร์
• เครื่องมือสนับสนุนกำรทดสอบ เช่น spreadsheet, เครื่องมือช่วยสร้ำงกรณีทดสอบ

SF332 Software Testing and Quality Assurance 4


จุดประสงค์ของการใช้ เครื่องมือทดสอบ
• เพื่อ
• เพิ่มประสิทธิภาพของกิจกรรมการทดสอบ เครื่องมือทดสอบช่วย ในกรณีที่ต้องทดสอบซำ
หลำย ๆ ครัง หรือ ใช้เวลำในทดสอบนำน ๆ หรือช่วยในกำรกรอกข้อมูลหลำย ๆ แบบ
• เพิ่มคุณภาพการทดสอบ เครื่องมือทดสอบช่วย ในกรณีที่ต้องใช้ข้อมูลในกำรจำนวนมำก ๆ
หรือป้องกันกำรทดสอบซำ กรณีที่ได้ทดสอบไปแล้ว (duplicate test case), ออกรำยงำนกำร
ทดสอบ
• เพิ่มความน่าเชื่อถือในการทดสอบ เครื่องมือทดสอบช่วย ในกรณีที่ต้องเปรียบเทียบผลกำร
ทดสอบจำนวนมำก ๆ หรือ เป็นเครื่องมือในกำรจำลองสถำนกำรณ์ต่ำง ๆ ที่อำจเกิดขึน
• เพิ่มความสามารถในการทดสอบที่ไม่สามารถทาแบบ Manual ได้ เครื่องมือทดสอบช่วย ใน
กำรวัดประสิทธิภำพต่ำง ๆ (performance test)

SF332 Software Testing and Quality Assurance 5


ใช้เครื่องมือทดสอบในส่วนใดของกระบวนการทดสอบ
• สามารถใช้เครื่องมือทดสอบได้ในทุกกระบวนการการทดสอบ

SF332 Software Testing and Quality Assurance 6


Agenda
เครื่องมือทดสอบคืออะไร
(What is test tools)

เครื่องมือทดสอบ แบ่งตามกิจกรรมการทดสอบ

ความเสี่ยงและการเลือกใช้เครื่องมือทดสอบ

SF332 Software Testing and Quality Assurance 7


การแบ่งกลุ่มเครื่องมือทดสอบ
• เครื่องมือทดสอบสำมำรถแบ่งได้ตำม
• แบ่งตำมจุดประสงค์กำรทดสอบ
• แบ่งตำมรำคำ
• แบ่งตามกิจกรรมการทดสอบ (test activity)
• แบ่งตำม Licensing model
(commercial or open source)
• แบ่งตำม เทคโนโลยีที่ใช้งำน

SF332 Software Testing and Quality Assurance 8


เครื่องมือทดสอบ แบ่งตามกิจกรรมการทดสอบ
Test Tool Classification
Test Management Test design and implementation Performance measurement
• Test management tools and • Test design tools and dynamic analysis
application lifecycle • Model-Based testing tools • Performance testing tools
management tools (ALM) • Test data preparation tools • Monitoring tools
• Requirements management tools • Acceptance test driven development • Dynamic analysis tools (D)
• Defect management tools (ATDD) and behavior driven
• Configuration management tools development (BDD) tools
• Continuous integration tools (D) • Test driven development (TDD) tools Specialized testing
(D) • Data quality assessment
• Data conversion and migration
• Usability testing
Static Testing Test execution and logging
• Accessibility testing
• Tools that support reviews • Test execution tools
• Localization testing
• Static analysis tools (D) • Coverage
• Security testing
• Test harnesses (D)
• Portability testing
• Unit test framework tools (D)

SF332 Software Testing and Quality Assurance 9


กิจกรรม บริหารจัดการการทดสอบ (Test Management)
Test Management tools and application lifecycle management tools
• เป็นเครื่องมือช่วยในกำรบริหำรจัดกำรกำรทดสอบ ตำมกระบวนกำร Software Development
Lifecycle ซึ่งอำจเป็น เครื่องมือเดียว หรือ แบบ ชุดเครื่องมือ
• ได้แก่ กำรวำงแผน, กำรติดตำม, กำรสรุปผล ของสถำนะในกิจกรรม บริหำรจัดกำรกำรทดสอบ
Test Management
• Test management tools and
application lifecycle
management tools (ALM)
• Requirements management tools
• Defect management tools
• Configuration management tools
• Continuous integration tools (D)

SF332 Software Testing and Quality Assurance 10


กิจกรรม บริหารจัดการการทดสอบ (Test Management)
Requirements management tools
• เป็นเครื่องมือในกำรจัดกำร Requirements เช่น requirement แบบ Functional หรือ Non-
Functional ช่วยในกำร บันทึก, ติดตำม, ตรวจสอบเพื่อให้ครอบคลุมตำมควำมต้องกำรต่ำง ๆ ที่
ได้กำหนดไว้หรือไม่ ครบถ้วนหรือไม่

Test Management
• Test management tools and
application lifecycle
management tools (ALM)
• Requirements management
tools
• Defect management tools
• Configuration management tools
• Continuous integration tools (D)

SF332 Software Testing and Quality Assurance 11


กิจกรรม บริหารจัดการการทดสอบ (Test Management)
Defect management tools
• เป็นเครื่องมือในกำรจัดกำรบริหำรจัดกำรข้อบกพร่อง ช่วยในกำรติดตำมเมื่อพบข้อบกพร่อง เมื่อ
พบข้อพกพร่องต้องทำอย่ำงไร ส่งให้ใครแก้ไข ติดตำมสถำนกำรณ์แก้ไข ได้รับกำรแก้ไขแล้วหรือไม่
แก้ไขเมื่อไร แก้ไขอย่ำงไร ผ่ำนกำรตรวจสอบแล้วหรือยัง ใครรับรองกำรตรวจสอบ

Test Management
• Test management tools and
application lifecycle
management tools (ALM)
• Requirements management tools
• Defect management tools
• Configuration management tools
• Continuous integration tools (D)

SF332 Software Testing and Quality Assurance 12


กิจกรรม บริหารจัดการการทดสอบ (Test Management)
Defect management tools
Tool in this category store and manage defect
(bug logs). And also help management of
defect
• Prioritization
• Assignment to people
• Attribution of the status of defect report
(Reject , Fixed, ready for test, etc.)
These tools enable to monitor and track
throughout defect lifecycle, and often provide
data and statistical analysis

SF332 Software Testing and Quality Assurance 13


กิจกรรม บริหารจัดการการทดสอบ (Test Management)
Configuration management tools
• เครื่องมือในกำรบริหำรจัดกำร Version, ควบคุมจัดเก็บ Source code ของงำนที่กำลังดำเนินกำรอยู่ในกระบวนกำร
ต่ำง ๆ ของกำรพัฒนำ
• เนื่องจำกในกำรทดสอบ Software ต้องมีกำรระบุ Version ของงำนที่กำลังทำกำรทดสอบ เพื่อไม่ให้เกิดกำรสับสน
• เช่นกำรทดสอบ Software requirement spec ต้องระบุ version ให้ตรงกัน, กำรทดสอบ Source code ก็ต้อง
ระบุ Version ให้ตรงกัน
Test Management
• Test management tools and
application lifecycle
management tools (ALM)
• Requirements management tools
• Defect management tools
• Configuration management
tools
• Continuous integration tools (D) Source Control Document Control
SF332 Software Testing and Quality Assurance 14
กิจกรรม บริหารจัดการการทดสอบ (Test Management)
Continuous integration tools (D)
• เป็นเครื่องมือในกำรทดสอบ ควำมเข้ำกันได้ของ
ส่วนต่ำง ๆ ในกำรพัฒนำ เพื่อเพื่อรวมส่วนต่ำง ๆ
เข้ำด้วยกัน
• รวบรวมส่วนต่ำง ๆ, Build ส่วนต่ำง ๆ, ติดตัง,
และทดสอบควำมเข้ำกันได้ของแต่ละส่วน
Test Management
• Test management tools and
application lifecycle
management tools (ALM)
• Requirements management tools
• Defect management tools
• Configuration management tools
• Continuous integration tools
(D)

SF332 Software Testing and Quality Assurance 15


เครื่องมือทดสอบ แบ่งตามกิจกรรมการทดสอบ
Test Tool Classification
Test Management Test design and implementation Performance measurement
• Test management tools and • Test design tools and dynamic analysis
application lifecycle • Model-Based testing tools • Performance testing tools
management tools (ALM) • Test data preparation tools • Monitoring tools
• Requirements management tools • Acceptance test driven development • Dynamic analysis tools (D)
• Defect management tools (ATDD) and behavior driven
• Configuration management tools development (BDD) tools
• Continuous integration tools (D) • Test driven development (TDD) tools Specialized testing
(D) • Data quality assessment
• Data conversion and migration
• Usability testing
Static Testing Test execution and logging
• Accessibility testing
• Tools that support reviews • Test execution tools
• Localization testing
• Static analysis tools (D) • Coverage
• Security testing
• Test harnesses (D)
• Portability testing
• Unit test framework tools (D)

SF332 Software Testing and Quality Assurance 16


Tools that support reviews
These tools are mainly in-house built such as
small database or spreadsheet.
• Review comments
• Record issues
• Gathering and/or display metric from
review process
• Manage references to rules and checklists

SF332 Software Testing and Quality Assurance 17


Static Analysis tools
• Tool that support valuating a component or system without
executing it, based on its form, structure, content, or
documentation.
• Static analysis tools can calculate metrics from the code (e.g.
complexity), which can give valuable information, for
example, for planning or risk analysis

SF332 Software Testing and Quality Assurance 18


เครื่องมือทดสอบ แบ่งตามกิจกรรมการทดสอบ
Test Tool Classification
Test Management Test design and implementation Performance measurement
• Test management tools and • Test design tools and dynamic analysis
application lifecycle • Model-Based testing tools • Performance testing tools
management tools (ALM) • Test data preparation tools • Monitoring tools
• Requirements management tools • Acceptance test driven development • Dynamic analysis tools (D)
• Defect management tools (ATDD) and behavior driven
• Configuration management tools development (BDD) tools
• Continuous integration tools (D) • Test driven development (TDD) tools Specialized testing
(D) • Data quality assessment
• Data conversion and migration
• Usability testing
Static Testing Test execution and logging
• Accessibility testing
• Tools that support reviews • Test execution tools
• Localization testing
• Static analysis tools (D) • Coverage
• Security testing
• Test harnesses (D)
• Portability testing
• Unit test framework tools (D)

SF332 Software Testing and Quality Assurance 19


กิจกรรม ออกแบบการทดสอบและ Implement (Test design and implement)
Test design tools
• เป็นเครื่องมือในกำร ช่วยออกแบบกำรทดสอบ, ตำมเงื่อนไขที่ได้ทำกำรกำหนดไว้
จำก Test Requirements หรือ จำก Test Condition ซึ่งจะช่วยสร้ำง Test case ให้

SF332 Software Testing and Quality Assurance 20


กิจกรรม ออกแบบการทดสอบและ Implement (Test design and implement)
Model-base testing tools
• เป็นเครื่องมือในกำร ช่วยสร้ำงเหตุกำรณ์หรือกระบวนกำรทดสอบในรูปแบบ Model ซึ่งมี
หลำกหลำยรูปแบบ เช่น Activity Diagram, Scenario Model
• เช่น Scenario model กำรออกฝึกงำน เริ่มจำก กำรสมัครสมำชิก, กำรLogin, กำรกรอกข้อมูล
ส่วนบุคคล, กำรขออนุมัติออกฝึกงำน, กำรเลือกสถำนประกอบกำร ซึ่งจำทำกำรทดสอบจำลอง
เหตุกำรต่ำงที่เกิดขึน

SF332 Software Testing and Quality Assurance 21


กิจกรรม ออกแบบการทดสอบและ Implement (Test design and implement)
Test data preparation tools
• เป็นเครื่องมือช่วย ในกำรจัดเตรียมข้อมูลกำรทดสอบ เช่นกำรจัดเตรียมข้อมูลในรูปแบบต่ำงๆ
สำหรับกรณีกำร Login เข้ำสู่ระบบ หรือจัดเตรียมข้อมูลที่อำจเกิดขึนในกรณีกำรเลือกสินค้ำในกำร
ซือ เป็นต้น

SF332 Software Testing and Quality Assurance 22


กิจกรรม ออกแบบการทดสอบและ Implement (Test design and implement)
Acceptance test driven development (ATDD) and behavior driven development (BDD) tools
• เป็นเครื่องมือช่วยในกำร สร้ำงกรณีกำรทดสอบจำก ควำมต้องกำรของระบบ หรือ จำกพฤติกรรม
กำรใช้งำนที่ทำอยู่ขององค์กร เพื่อใช้ในกำรทดสอบ ก่อนเริ่มกระบวนกำรพัฒนำ
• ATDD สร้ำง กรณีทดสอบตำมควำมต้องกำรของระบบ จำก Acceptance criteria requirement
• BDD สร้ำง กรณีทดสอบจำก จำก พฤติกรรมกำรใช้งำน ตำมลักษณะงำนที่ทำอยู่ขององค์กร
(Behavior)

SF332 Software Testing and Quality Assurance 23


Acceptance Testing Driven Development Tools
• ATDD defines acceptance criteria and tests during the
creation of user stories. ATDD is a collaborative
approach that allows every stakeholder to understand
how the software component has to behave and what
the developers, testers, and business representatives
need to ensure this behavior.
• ATDD creates reusable tests for regression testing.
Specific tools support creation and execution of such
tests, often within the continuous integration process.
These tools can connect to data and service layers of
the application, which allows tests to be executed at
the system or acceptance level.

SF332 Software Testing and Quality Assurance 24


Behaviour Driven Development (BDD) Tools
Behavioral Driven Development (BDD) is a software development approach that has evolved from TDD (Test
Driven Development). It differs by being written in a shared language, which improves communication
between tech and non-tech teams and stakeholders. In both development approaches, tests are written
ahead of the code, but in BDD, tests are more user-focused and based on the system’s behavior.
Business – What type of problem
trying to solve?
Development – How to build a
solution for a particular problem.
Testing – What about this, what
could happen?
BDD Formula
Given a certain scenario
When an action takes place
Then this should be the outcome.
SF332 Software Testing and Quality Assurance 25
กิจกรรม ออกแบบการทดสอบและ Implement (Test design and implement)
Test drive development (TDD) tools (D)
• เป็นเครื่องมือช่วย ในกำรสร้ำงกณีทดสอบ ในกระบวนกำรพัฒนำ ซึ่งกรณีทดสอบต่ำง ๆ จะถูก
สร้ำงขึนตำมภำษำโปรแกรมมิ่งที่ใช้งำน

SF332 Software Testing and Quality Assurance 26


เครื่องมือทดสอบ แบ่งตามกิจกรรมการทดสอบ
Test Tool Classification
Test Management Test design and implementation Performance measurement
• Test management tools and • Test design tools and dynamic analysis
application lifecycle • Model-Based testing tools • Performance testing tools
management tools (ALM) • Test data preparation tools • Monitoring tools
• Requirements management tools • Acceptance test driven development • Dynamic analysis tools (D)
• Defect management tools (ATDD) and behavior driven
• Configuration management tools development (BDD) tools
• Continuous integration tools (D) • Test driven development (TDD) tools Specialized testing
(D) • Data quality assessment
• Data conversion and migration
• Usability testing
Static Testing Test execution and logging
• Accessibility testing
• Tools that support reviews • Test execution tools
• Localization testing
• Static analysis tools (D) • Coverage
• Security testing
• Test harnesses (D)
• Portability testing
• Unit test framework tools (D)

SF332 Software Testing and Quality Assurance 27


กิจกรรม การดาเนินการทดสอบและการเก็บบันทึก (Test execution and logging)
Test execution tools
• เป็นเครื่องมือช่วยใน กระบวนกำร execute code ที่เขียนขึน, ช่วยในกำรใส่เงื่อนไขกำรทดสอบ,
วิเครำะห์ผลลัพธ์ที่เกิดขันเปรียบเทียบกับผลที่คำดหวังไว้ และรำยงำนผลลัพธ์ของกำรทดสอบและ
ข้อผิดพลำดที่ตรวจพบในกำรทดสอบ

SF332 Software Testing and Quality Assurance 28


Confirmation and Regression

Confirmation
Defect
Regression

Regression Confirmation
Defect

System A System B
SF332 Software Testing and Quality Assurance
กิจกรรม การดาเนินการทดสอบและการเก็บบันทึก (Test execution and logging)
Coverage
• เป็นเครื่องมือช่วยในกำร ตรวจสอบกำร Test execution ว่ำได้มีกำรตรวจสอบครบถ้วน
ครอบคลุมตำม Static testing หรือไม่ เป็นเครื่องมือที่ทำงำนร่วมกับ Test execution tools

SF332 Software Testing and Quality Assurance 30


กิจกรรม การดาเนินการทดสอบและการเก็บบันทึก (Test execution and logging)
Test harnesses (D)
• เป็นเครื่องมือสำหรับช่วยในกำรสร้ำงสภำพแวดล้อมของ Driver เพื่อจำลอง Module กำรส่งค่ำ
ของโปรแกรมที่ยังไม่เสร็จ และสภำพแวดล้อมของ Stub เพืจ่ ำลอง Module กำรรับค่ำ ของ
โปรแกรมที่ยังไม่เสร็จ
Test harness – A test environment comprised of stubs and
drivers needed to execute a test suite
Test suite
A set of test scripts or test procedures to be executed in a
specific test run.
Module Driver Module
A A A

Module Module Module


B B B

Module Module Stub


C C C
SF332 Software Testing and Quality Assurance 31
Test Harness Tools
Automation testing: It contains the
test scripts, parameters necessary to
run these scripts and gather results to
analyze it
Integration testing: It is used to put
together two units of code or module
that interact with each other to check
whether or not the combined
behavior is as expected or not
Automate the testing process.
Execute test suites of test cases.
Generate associated test reports
SF332 Software Testing and Quality Assurance 32
กิจกรรม การดาเนินการทดสอบและการเก็บบันทึก (Test execution and logging)
Unit test framework tools (D)
• เป็นเครื่องมือสาหรับช่วย ในการทดสอบหน่วยการทางานของ ของแอพพลิเคชันซอฟต์แวร์ หรือ
ฟังก์ชันการทางานของ Source Code ว่างทางานได้ถูกต้องตามต้องการหรือไม่

SF332 Software Testing and Quality Assurance 33


เครื่องมือทดสอบ แบ่งตามกิจกรรมการทดสอบ
Test Tool Classification
Test Management Test design and implementation Performance measurement
• Test management tools and • Test design tools and dynamic analysis
application lifecycle • Model-Based testing tools • Performance testing tools
management tools (ALM) • Test data preparation tools • Monitoring tools
• Requirements management tools • Acceptance test driven development • Dynamic analysis tools (D)
• Defect management tools (ATDD) and behavior driven
• Configuration management tools development (BDD) tools
• Continuous integration tools (D) • Test driven development (TDD) tools Specialized testing
(D) • Data quality assessment
• Data conversion and migration
• Usability testing
Static Testing Test execution and logging
• Accessibility testing
• Tools that support reviews • Test execution tools
• Localization testing
• Static analysis tools (D) • Coverage
• Security testing
• Test harnesses (D)
• Portability testing
• Unit test framework tools (D)

SF332 Software Testing and Quality Assurance 34


กิจกรรม การวัดประสิทธิภาพและการวิเคราะห์พลวัต (Performance measurement and dynamic analysis)
Performance testing tools
• เป็นเครื่องมือช่วยในการ การสร้างสถานการณ์ การใช้งานแบบต่าง ๆ ที่มีจานวนมาก ๆ เพื่อ
ตรวจสอบและวัดประสิทธิภาพของของระบบ ให้มั่นใจว่าสามารถรองรับผู้ใช้งานได้อย่างต่อเนื่อง

SF332 Software Testing and Quality Assurance 35


กิจกรรม การวัดประสิทธิภาพและการวิเคราะห์พลวัต (Performance measurement and dynamic analysis)
Monitoring tools
• เป็นเครื่องมือช่วยในการบันทึกและวิเคราะห์ พฤติกรรมการทางานของ โปรแกรม หรือส่วนของ
โปรแกรม ในการใช้งานทรัพยากรต่าง ๆ ของเครื่องคอมพิวเตอร์ เช่น การใช้งานหน่วยประมวลผล
, การใช้งานหน่วยความจา เป็นต้น

SF332 Software Testing and Quality Assurance 36


กิจกรรม การวัดประสิทธิภาพและการวิเคราะห์พลวัต (Performance measurement and dynamic analysis)
Dynamic analysis tools (D)
• เป็นเครื่องมือช่วยในกำร ตรวจสอบและวิเครำะห์ Code ในขณะทำกำร execution เพื่อ
ตรวจสอบควำมผิดพลำดต่ำง ๆ ที่อำจเกิดขึนได้ในขณะ Run โปรแกรม เช่น ตรวจสอบกำรใส่
ข้อมูลยำวมำก ๆ จะเป็นอย่ำงไร, กำรทดสอบ SQL injection, กำรตรวจสอบและวิเครำะห์ null
pointer เป็นต้น

SF332 Software Testing and Quality Assurance 37


เครื่องมือทดสอบ แบ่งตามกิจกรรมการทดสอบ
Test Tool Classification
Test Management Test design and implementation Performance measurement
• Test management tools and • Test design tools and dynamic analysis
application lifecycle • Model-Based testing tools • Performance testing tools
management tools (ALM) • Test data preparation tools • Monitoring tools
• Requirements management tools • Acceptance test driven development • Dynamic analysis tools (D)
• Defect management tools (ATDD) and behavior driven
• Configuration management tools development (BDD) tools
• Continuous integration tools (D) • Test driven development (TDD) tools Specialized testing
(D) • Data quality assessment
• Data conversion and migration
• Usability testing
Static Testing Test execution and logging
• Accessibility testing
• Tools that support reviews • Test execution tools
• Localization testing
• Static analysis tools (D) • Coverage
• Security testing
• Test harnesses (D)
• Portability testing
• Unit test framework tools (D)

SF332 Software Testing and Quality Assurance 38


กิจกรรม การทดสอบพิเศษอื่น ๆ (Specialized testing)

• Data quality assesment เครื่องมือช่วยในการประเมินคุณภาพของ Data


• Data conversion and migration เครื่องมือช่วยในการการเปลี่ยนข้อมูลและการย้ายข้อมูล
• Usability testing เครื่องมือตรวจสอบ พฤติกรรมการใช้งานของผู้ใช้
• Accessibility testing เครื่องมือทดสอบ สาหรับการใช้งานของผู้พิการ
• Localization testing เครื่องมือทดสอบ ของการใช้งานตามวัฒนธรรมของแต่ละพื้นที่
• Security testing เครื่องมือทดสอบความปลอดภัยของซอฟต์แวร์และระบบ
• Portability testing เครื่องมือทดสอบของการนา ซอฟต์แวร์และระบบ ไปใช้งานใน
ระบบปฏิบัติการที่ต่างกัน, ทดสอบการใช้ Browsers ต่าง ๆ เพื่อให้มั่นว่าสามารถใช้ได้ทุกตัว

SF332 Software Testing and Quality Assurance 39


Where Tools Fit
Defect Management Configuration Management

Review
Requirement • Performance Acceptance Test

Test execution
• Monitoring
• Usability
• Portability System Test
Functional Design
Requirement Management

Continuous Integration
Conceptual Design Dynamic
analysis Integration Test

Detailed Design Component Test Test harness


Test support for test Unit test framework
design and
implementation
Static Code Coverage
analysis measures

Tool support for management of testing and testware


SF332 Software Testing and Quality Assurance 40
Benefits
• Reduction in repetitive manual work, thus saving time
• Greater consistency and repeatability
• More objective assessment
• Easier access to information about testing

SF332 Software Testing and Quality Assurance 41


Agenda
เครื่องมือทดสอบคืออะไร
(What is test tools)

เครื่องมือทดสอบ แบ่งตามกิจกรรมการทดสอบ

ความเสี่ยงและการเลือกใช้เครื่องมือทดสอบ

SF332 Software Testing and Quality Assurance 42


ความเสี่ยงในการใช้เครื่องมือทดสอบ
• เครื่องมือทดสอบที่เลือก ใช้งานได้จริง
• เครื่องมือทดสอบที่เลือก ตรงตามความต้องการ
• ประเมิน เวลาและค่าใช้จ่าย ในการเรียนรู้การใช้งาน เครื่องมือทดสอบให้เหมาะสม
• ประเมิน เวลาและค่าใช้จ่าย ในการต่อสัญญาการใช้งาน เครื่องมือทดสอบให้เหมาะสม
• รายงานผลการทดสอบที่ออกมา เป็นของผู้ผลิตเครื่องมือทดสอบ หรือของผู้ทดสอบ
• เครื่องมือทดสอบที่เลือก ต้องสามารถทางานร่วมกับ เครื่องมือทดสอบ อื่น ๆ ที่ใช้งานอยู่ได้

SF332 Software Testing and Quality Assurance 43


ความเสี่ยงในการใช้เครื่องมือทดสอบ cont..
• เครื่องมือแบบ open source มักจะไม่มีทีมงานคอยช่วยเหลือ
• การเปลี่ยนแปลงเทคโนโลยี อาจทาให้เครื่องมือที่มีอยู่ไม่สามารถใช้งานได้
• ผู้ผลิตเครื่องมือทดสอบ ให้ความช่วยเหลือเมื่อมีปัญหา หรือมีการ Update เครื่องมือทดสอบ
อย่างต่อเนื่อง
• ผู้ผลิตเครื่องมือทดสอบเลิกให้บริการเครื่องมือตัวนี้แล้ว

SF332 Software Testing and Quality Assurance 44


การเลือกใช้งานเครื่องมือทดสอบ
• องค์กรเรา พร้อมใช้งานเครื่องมือทดสอบ
• ใช้แล้วต้องเพิ่มประสิทธิภาพของงานที่ทาให้ดีขึ้น
• เลือกเครื่องมือทดสอบ ให้เหมาะกับเทคโนโลยีที่องค์กรณ์ใช้งาน
• กาหนดวัตถุประสงค์ของการนาเครื่องมือทดสอบมาใช้งานให้ชัดเจน
• หากเป็นไปได้ให้ทดลองใช้งานก่อน เพื่อให้แน่ใจว่าใช้งานได้จริง
• ประเมินความสามารถของผู้ขายว่าสามารถให้ความช่วยเหลือได้หรือไม่
• มีการอบรมก่อนใช้งาน

SF332 Software Testing and Quality Assurance 45


การเลือกใช้งานเครื่องมือทดสอบ
• มีเจ้าหน้าที่สอนให้ใช้งานตอนเริ่มต้น
• พิจารณาเงื่อนไขข้อดีข้อเสียของแต่ละ Licensing (ใช้ได้กี่เครื่อง, มี hard lock)
• ประเมินควำมคุ้มค่ำของกำรใช้งำนกับค่ำใช้จ่ำยที่ต้องเสียไปกับเครื่องมือตัวนี

SF332 Software Testing and Quality Assurance 46


การทดสอบเครื่องมือก่อนใช้งาน (Pilot Projects)
• เพื่อให้รู้ว่าเครื่องมือทดสอบทาอะไรได้ ทาอะไรไม่ได้ ข้อดี ข้อเสียของเครื่องมือที่ทดสอบ
• เพื่อให้รู้ว่าเครื่องเหมาะกับลักษณะงานขององค์กรณ์เราหรือไม่ ต้องเปลี่ยนกระบวนการทางาน
ขององค์กรณ์เราหรือไม่
• เพื่อให้รู้ว่า มาตรฐานของเครื่องมือทดสอบในการจัดการ, การจัดเก็บข้อมูล, ใช้Model การ
ทดสอบแบบใด
• เพื่อประเมิน ความสาเร็จของการนาเครื่องมาใช้งาน และความคุ้มค่าในการนาเครื่องมือมาใช้
• กาหนดตัวชี้วัดในการทดสอบ ให้ตรงตามความต้องการของงานที่ต้องการใช้งานเครื่องมือ
ทดสอบในเรื่องต่างๆ (ลักษณะการใช้งาน, การ Setup, รูปแบบรายงาน)

SF332 Software Testing and Quality Assurance 47


ควรใช้ / ไม่ควร งานเครื่องมือสาหรับการทดสอบในตอนไหน

• เมื่อการทดสอบมีการทาซ้าหลายๆ ครั้ง ควรนา • ไม่ควรใช้เมื่อการทดสอบกระทาไม่บ่อย เนื่องจาก


เครื่องมือเข้ามาช่วย การใช้งานเครื่องมีต้องเสียเวลาการ Setup ด้วย
• เมื่อการใช้งานแบบ Mannual ใช้เวลานานกว่า หรือมี เช่นเดียวกัน
ค่าใช้จ่ายมากกว่า การใช้เครื่องมือทดสอบ • ไม่ควรใช้เมือการทดสอบนั้นไม่สาคัญมากถึงขั้น
• เมื่อการใช้งานแบบ Manual ไม่สามารถทาการ ต้องใช้งานเครื่องมือทดสอบ
ทดสอบได้ เช่น ต้องใช้คนหลาย ๆ คน, หรือใช้หลาย • ไม่ควรใช้เครื่องมือเพื่อประเมินความรู้สึกของคน
ๆ วันในการทดสอบ (Usability Test)
• มีการขั้นตอนการ Setup ต่างๆ มากมายก่อนการ
ทดสอบ
• ช่วยลดเวลาในการทดสอบได้จริง
SF332 Software Testing and Quality Assurance 48
ผลสาเร็จของการใช้เครื่องมือทดสอบ (Success Factors)
• ทั้งองค์กรณ์ มีความเห็นร่วมกันว่าต้องใช้เครื่องมือทดสอบ
• สามารถปรับปรุงประสิทธิภาพกระบวนการทางานได้จริง
• มีการอบรมก่อนการใช้งานเครื่องมือ, ผู้ขายมีบุคลากรคอยให้คาปรึกษาเมื่อเกิดปัญหาในการใช้
เครื่องมือ
• มีคู่มือการใช้งานชัดเจน ตอบโจทย์การใช้งานในการทดสอบได้
• เกิดความคุ้มค่าในการใช้งานจริง
• มีการประเมินผลการใช้งาน
• มีการบันทึกผลการใช้งานเครื่องมือ

SF332 Software Testing and Quality Assurance 49


Exercise Tool support for testing
1. What benefits do static analysis tools have over test execution tools?
A. Static analysis tools find defects earlier in the life cycle.
B. Static analysis tools can be used before code is written.
C. Static analysis tools test that the delivered code meets business requirements.
D. Static analysis tools are particularly effective for regression testing.

2. Which one of the following is MOST likely to be a benefit of test execution tools?
A. It is easy to create regression tests.
B. It is easy to run regression tests.
C. It is easy to design tests for security testing.
D. It is easy to maintain version control of test assets.
SF332 Software Testing and Quality Assurance 50
Exercise Tool support for testing
3. Which tool is NOT support test execution and logging activities?
A. Test execution tool B. Coverage tool
C. Test harness D. Monitoring tool

4. Unreachable code would best be found using


A. Code reviews B. A coverage tool
C. Static analysis tool D. Code inspections

SF332 Software Testing and Quality Assurance 51


Exercise Tool support for testing
5. Given the following types of tool, which tools would typically be used by
developers and which by an independent test team ?
i. static analysis ii. performance testing
iii. test management iv. dynamic analysis
v. test execution vi. test data preparation
A. developer : i , ii, iii | test team : iv, v, vi
B. developer : i , ii, iv | test team : iii, v, vi
C. developer : i , iv | test team : ii, iii, v, vi
D. developer : ii ,iv, vi | test team : i, iii, v

SF332 Software Testing and Quality Assurance 52


SF332 Software Testing and Quality Assurance 53
Assignment 7
จานวน 10 ข้อ 2 คะแนน

• https://docs.google.com/forms/d/e/1FAIpQL
ScCIS1Y5jW9rLwo7g0R56FbaPD_hO_iyA8dNa
4bj7bHjgzMqQ/viewform?usp=share_link

SF332 Software Testing and Quality Assurance 54


Data Quality Assessment Tools
Data quality assessment (DQA) tool is a tool support process of finding and exposing
all the business and technical issues related to data. These tools should be able to
assess and monitor the six quality dimensions of data at periodic intervals include :
Data Completeness , Data Uniqueness, Data Timeliness , Data Validity and Data
Consistency

https://winpure.com/whats_new_in_v7.html
SF332 Software Testing and Quality Assurance 55
Data Conversion and Migration Tools
Data conversion and migration software facilitate data transfer by transform data
from one format to another, validating, and loading data into the desired system

SF332 Software Testing and Quality Assurance 56


Usability Test

Cr. Voynetch
https://voynetch.com
SF332 Software Testing and Quality Assurance 57
Usability Testing Tools
Usability testing tool enable to evaluate user
experience on software and identify usability
issues. Usability testing tool may support to
• VDO Recording
• Scroll map
• User recording
• Heat maps
• Survey/ Questionnaire
• Mouse Movement Tracking
• Upload Screen or Mockup
• Remote Testing

SF332 Software Testing and Quality Assurance 58


Accessibility Testing Tools
• Tool which support testing to determine the ease by which users with disabilities
like hearing , color blindness, old age or other disadvantaged groups can use a
component or system.

SF332 Software Testing and Quality Assurance 59


Localization Testing Tools
S.No Test Case Description Localization testing is performed to verify
1 Glossaries are available for reference and check. the quality of a product's localization for a
2 Time and date is properly formatted for target region. particular target culture/locale and is
3 Phone number formats are proper to target region. executed only on the localized version of
4 Currency for the target region. the product.
5 Is the License and Rules obeying the current website(region).
6 Text Content Layout in the pages are error-free, font independence and
line alignments.
7 Special characters, hyperlinks and hotkeys functionality.
8 Validation Message for Input Fields.
9 The generated build includes all the necessary files.
10 The localized screen has the same type of elements and numbers as that
of the source product.
11 Ensure the localized user interface of applications compares to the source
user interface in the target operating systems and user environments.
SF332 Software Testing and Quality Assurance 60
Security Testing Tools
• Security testing tool help to identify security • Aims to determine if a system or software
issue in product which may enable to performs well enough to protect data and
• Code Review deliver functionality as planned.
• Security Review
• Application Testing
• Runtime Application Self Protection
• Vulnerability Assessment Scanner
• Penetration Testing

SF332 Software Testing and Quality Assurance 61


Portability Testing Tools
• Determining the degree of ease or difficulty to which a software component or application
can be effectively and efficiently transferred from one hardware, software or other
operational or usage environment to another. For example:
• Hardware platforms (including clients, servers, network devices, input devices, and output devices).
• Hardware specifications (including processor speed, ram and disk space)
• Operating systems (including versions and service packs).
• Browsers (including both types and versions).
• Web servers
• Databases
• Portability testing deals with software components across multiple environments, while
compatibility testing deals with testing two different applications in the same environment.
SF332 Software Testing and Quality Assurance 62

You might also like