Unified Software Engineering - Foundation
Benefits & Objectives:
- Learn how to be more efficient and effective by achieving higher test coverage early in the cycle
- How to make the software itself more testable.
- How to plan and carry out an efficient and effective developer testing strategy.
- Avoid common testing pitfalls, and learn to determine how much developer testing is enough.
- Understand the functional and non-functional testing goals and approach
Unified Software Engineering is a concept where all major engineering disciplines are blended and it gel well with agile “Everyone can do everything”.
This course will target the developers to understand and practice preventive and reactive testing, while writing a code, they can ensure that product has less defects.
First major part is developer testing, which is a critical component of software development. Significant developer effort is spent without finding defects that should have been found. Then comes functional testing, Automation and performance are equally important for unified engineer.
In this seminar, you will get a practical introduction to the concepts of Unit Test, Testing Design Techniques and test automation, Performance and Security Testing.
1 Introductions, objectives and overview
1.1 Becoming an effective Unified Engineer
1.2 What is effective testing?
1.3 Effective and Efficient Test Design
- Use of Techniques, Advance Techniques
1.4 Effective and Efficient Test Execution
- Unit, Integration, System Level and Regression Testing
- Types of Testing
- Whitebox Vs Blackbox
- Experience Based/Exploratory
- STLC vs SDLC
- Different SDLC and how Testing fit in each SDLC
1.5 Risk Based Testing
1.6 Exercise: Understanding the testing -The triangle tests
2 Test Design Techniques
2.1 Types of tests -White Box test Design techniques
- Program Flow Controls
- WhiteBox Testing Techniques
- Test Coverage
2.2 Types of tests – Static testing
- Static Analysis Techniques
- Data Flow Testing
- Data Flow testing Strategy
- Data Flow testing Tips
- Control Flow Analysis
- Successor/Predecessor table
- Complexity Analysis
- Call Tree Analysis
- Coupling Stability Analysis
Day 2: Types of tests - Requirement/Specification Based Testing
3 What is black-box testing?
Black-box techniques tests –
- Equivalence partitioning
- Boundary values analysis
- Decision table technique
- State transition technique
- Use case
- Combinatorial Testing
- Noun & Verb
- User Story Testing
- Domain Analysis
- Defect -Based Testing (using defect Taxonomy)
- Exploratory Testing
- When and how to use these techniques.
- Each technique will have couple of hands on exercises
Day 2,3 Test Automation using Se WebDriver
4 Test Automation Basics
4.1 Test automation Frameworks
- Types of Frameworks , Record and Playback, Scripting/Modular, Data-Driven, Keyword & Hybrid, Page Object Model
4.2 Overview of Se
- Testing Process in Se, Components of Selenium, Test class structure, Selenium at a glance
4.3 Element Identification
- ID and Name, xpath, linktext, class name, CSS selectors, Partial Link, tag Names
4.4 Se WebDriver Commands
- GetAttribute(), GetWindowHandler(),GetWindowHandlers(),close(),Quit(),GetSize(),GetLocation()
- Navigation Commands: driver.navigate().to(), .navigate.forward, .navigate.back(), .navigate.refresh(),
- Find Element and Find Elements
- Driver.Manage(), element.click(), element.submit(), element.doubleclick()
- dropdown select, unselect, hoover, dragdrop
- switchTo() , accept, dismiss, sendkeys, radiobuttons, checkbox, get connection
- How to Read Excel in Se C#
- Asserts: Assert.assertEquals(message, “This text”);
- Assert.assertNotEquals(message, “This text”);
- Defensive actions: IsEnabled, IsDisplayed( ), isSelected( )
- Other actions: Implecit Wait
- driver.manage().timeouts().implicitlyWait, Visibility of Elementlocated, Until and Alerts
- Screenshot capturing
- Handling Windows Elements
4.5 Library based Automation (Modular)
- Hands on exercises on creating libraries
4.6 Data Driven Implementation in Se
- Hands on exercises on Data Driven Automation Framework
4.7 Keyword Driven Implementation in Se
- using/Creating keyword driven framework
- Hands on exercises on Keyword Driven Automation Framework
4.8 Hybrid Driven Implementation in Se
- using hybrid framework
- Hands on exercises on Hybrid Automation Framework
4.9 Page Object Model in Selenium
Hands on exercises on Page Object Model
4.10 Debugging & Error Handling
- Handling Objects - Object identification, base states, Handling non GUI Objects,
- Maintenance of Automation Scripts
- Reporting and Auditing
- Do's & Don'ts
- Best Practices
Day 4: Performance testing Concepts and overview
- Core Activities of Performance testing
- Test Environment identification
- Performance Criteria Identification
- Plan & Design Performance test cases
- Configure test Environment
- Implement Test Design
- Result Analysis & reporting
- Performance Tests Types (Performance/Load/Stress,Volume etc)
- Performance Test & Benefits
- Load test & Benefits
- Stress Test & Benefits
- Capacity Test & Benefits
- Endurance Test & Benefits
- Plan and Design Performance testing
- Modeling Application Usage
- Identify the objectives.
- Identify key usage scenarios.
- Determine navigation paths for key scenarios.
- Determine individual user data and variances.
- Determine the relative distribution of scenarios.
- Identify target load levels.
- Prepare to implement the model.
- Demo Creating Perf Script, scenario, load pattern, usage pattern
- Creating Scenarios (pattern distribution, user profile, vusers)
- Adding Performance counters (Servers,/client, CPU, Netowk, Memory, ..)
- Executing the scenarios and monitoring
- Baseline Vs Benchmarking
- Performance Monitoring, Analysis & Reporting
- Analyzing Your Scenario and preparing Reports
- How does an analysis session work
- How do I start my analysis session
- The Analysis Window at a Glance
- Did I reach my goals? The Service Level Agreement
- How do I view a summary of performance
- How do I graphically view performance
- Did my server perform well
- How can I pinpoint the source of the problem
- What other information can I gather for my scenario
Demo: Report generation and collecting counters, analyzing bottleneck
- Basic understanding of SDLC
- Coding knowledge in a high level programming language (JAVA)
- Basic knowledge of HTML and CSS
Tarun Banga, CEO, Founder Nikita Software Services. With over 27 years in the software industry in lead roles at Microsoft, Adobe, Veritas, Mr Banga has shared his passion and knowledge in the test engineering field with leading organizations to implement Automation, Performance, Mobile Testing & Security Testing CoE and other software testing practices.
- Testers with coding Knowledge
- Tool Managers