Quality for developers
-
Upload
dharshana-warusavitharana -
Category
Software
-
view
141 -
download
3
Transcript of Quality for developers
![Page 1: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/1.jpg)
Quality For Developers
![Page 2: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/2.jpg)
What do you think ??????
![Page 3: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/3.jpg)
Testing Good Bad And Ugly
![Page 4: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/4.jpg)
Understanding - Cost of test Wrong way
![Page 5: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/5.jpg)
Understanding - Cost of test Right way
![Page 6: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/6.jpg)
"Agile Development" is an umbrella term for several iterative and incremental software development methodologies
![Page 7: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/7.jpg)
Basic Understanding - Unit Test
● Focused on testing behavior of a
particular class, module or method.
● Smallest part of the application.
● Fast (less than 0.1 second per test)
● No external implementation
dependencies
(filesystem, database, web services, etc.). All
dependencies are faked for the test context.
● Can easily be parallelized, since each test is atomic
![Page 8: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/8.jpg)
Basic Understanding - Integration Test
● Focused on verifying the integration
of one or more components together.
● May have external dependencies.
● A test that takes longer than a unit
Test should
Integration Tests - with in WSO2 ● Executes on product pack created by build.
● Not depending on other product environments.
● Independent.
● Lightweight.
● Covers only scenarios related to features on individual product.
![Page 9: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/9.jpg)
How tests really looks like
Platform - Platform Tests
Cross Platform Tests
Product - Integration Tests
Component - Unit Tests
Component - Unit Tests
Component - Unit Tests
Component - Unit Tests
Product - Integration Tests
Component - Unit Tests
Component - Unit Tests
Component - Unit Tests
Component - Unit Tests
Product - Integration Tests
Component - Unit Tests
Component - Unit Tests
Component - Unit Tests
Component - Unit Tests
Product - Integration Tests
Component - Unit Tests
Component - Unit Tests
Component - Unit Tests
Component - Unit Tests
![Page 10: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/10.jpg)
● Platform scenarios.
● Integration scenarios.
● UI scenarios.
● Real world use cases.
● Performance and Security scenarios.
● Patches provided.
![Page 11: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/11.jpg)
![Page 12: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/12.jpg)
Technologies for Automation
Test Framework Build Systems
Code Coverage
Extensibility Support
UI Automation
![Page 13: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/13.jpg)
●
●
●
○ Trigger out TestNg.
○ Control TestNG flow (Through Surefire TestNg Utils)
○ Generate reports. (Html, XML and emailable report)
![Page 14: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/14.jpg)
Execution Started@BeforeSuite
@BeforeTest
@AfterTest
@AfterSuite
Execution Closed
@BeforeClass
@BeforeGroups
@BeforeMethod
@AfterMethod
@AfterGroups
@AfterClass
![Page 15: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/15.jpg)
● Listeners are interfaces allows to modify TestNG's
behavior.
● Listeners are binned to a testNg execution.
● Listeners implement the interface org.testng.ITestListener○ IExecutionListener
■ Triggers at start and end of any execution.■ ISuiteListener.
○■ Triggers at suite start and end.ITestListener■ Triggers at Test start, Finish, Failure, Skip and partial failure.
● Reporters implement the interface org.testng.IReporter ○ Notified when all the suites have been run by TestNG. ○ The IReporter instance receives a summary of entire test run
![Page 16: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/16.jpg)
●
○ Offline instrumentation
○ On fly instrumentation
●
●
○ Code coverage
○ Class coverage
○ cyclomatic complexity
![Page 17: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/17.jpg)
● Reduces the amount of duplicated code. ● Encapsulate the internal state of a page into a single
page object.● UI changes only affect to a single Page Object, not to
the actual test codes. ● Code reuse: Able to use the same page object in a
variety of tests cases.
Page Object Class
Mapper.properties
Test Class
![Page 18: Quality for developers](https://reader036.fdocuments.in/reader036/viewer/2022062418/555e585fd8b42ad74a8b526c/html5/thumbnails/18.jpg)
Questions?