Saturday, 2 January 2016

Learn Java with Interactive Tutorials

Class Summary


Java is the most popular programming language & is the language of choice for Android programming. This course is taught in practical GOAL oriented way. It is recommended you practise the code assignments given after each tutorials.

What should i know?


Nothing. This tutorial is designed for beginners with little or no coding experience. No installation is required. We provide an online Java Executor.

Syllabus


First Steps In Java
1 – Introduction to Java Platform (Must Watch)
Concepts of Object Oriented Programming (OOPs)
Java Basic Language Constructs
11 – Arrays
Most Misunderstood Topics!
Java Memory Management
15 – static
16 – Stack & Heap
Inheritance Revisited
18 – abstract
19 – interface
Better Late than Never
20 – Constructors
21 – Packages
Exception Handling
Lets Swing!

Learn SAP Testing: Create your First SAP Test Case

Introduction to SAP
The basic idea behind introducing SAP (System Applications and Products) was to provide the customers the ability to interact with common corporate databases for a comprehensive range of applications. SAP is an integrated ERP (Enterprise Resource Planning) to make business process work efficiently.


Following Video will explain the need of ERP software like SAP in an enterprise
SAP suite contains different modules such as SAP FICO, SD, MM, HR, etc.

SAP Testing Consultant- a Career choice

Skill Set
To become a SAP tester you need following skill sets
  1. Testing knowledge
  2. Functional knowledge of the module being tested.
Typical WorkDayOn any typical work day you will be busy understanding requirement documents , creating test cases , executing test cases , reporting and re-testing bugs , attending review meetings and other team building activities.
Career Progression
Your career progression as a software tester (QA Analyst) in typical CMMI level 5 company will look like following but will vary from company to company
QA Analyst (Fresher) => Sr. QA Analyst (2-3 year experience)=> QA Team Coordinator (5-6 year experience> =>Test Manager (8-11 experience) => Senior Test Manager (14+ experience)
How SAP Testing is more lucrative than other testing projects ?
While testing any AUT ,
  1. You acquire deep functional knowledge of the AUT. Without sufficient knowledge of AUT its difficult to test
  2. Hone your testing skills
As with any IT company , you move from one project to another in due course of time. All the hardwork you did to understand the functionality of AUT is obsolete in the new project. This is typically true if you are switching projects across domains say telecom to healthcare.
In case of SAP, the functional knowledge you acquire is portable and can be used in other projects.  Suppose you are switching jobs. In your old company you were testing billing software for Vodafone. What is the likely hood that the same project is available in your new company ? Next to Zero.
Now consider this case. You are switching from SAP Testing project to another SAP Testing project in new company. You instantly recognize the GUI , Transaction codes, vanilla business workflows which is a huge advantage. You will need to learn the customizations made by the client but still you need a deep knowledge of the software.
The biggest advantage as SAP Tester is that due to the deep functional knowledge you acquire, you can easily become a SAP Functional Consultant! SAP Consultants are in huge demand & they are almost always on short supply and command premium salaries.

What is meant by SAP implementation?

Consider this scenario. Company A offers 12 annual leaves. Company B offers 20 annual leaves. Salary must be deducted for any employee who uses 13th or 21st annual leave for Company A & B respectively. This information must be configured into the SAP system which is nothing but SAP implementation and configuration.
The SAP vanilla version is powerful but not much useful until it’s customized and configured as per the business policies, legal stipulations, & technical requirements of a company. This process is called SAP implementation. It could typically take a few months to even years.

What is SAP customization?

SAP by far has the highest collection of Business Process. But sometimes your internal company processed many not be accurately mapped using the readily available SAP business transactions.
In such cases custom code is created using ABAPIt involves code changing to create functionality that is not available through configuration. This is nothing but customizations. SAP customization can also be done to generate custom reports, programs, or enhancements.

What is maintenance of SAP software?

Once the SAP system is configured, customized, deployed and made live – any changes made to the SAP system is termed as Maintenance. This could include

SAP End to End lifecycle and corresponding Testing Phases

There are multitude of methodology that can used for SAP implementation
  • ASAP Implementation ( For initial implementation of SAP systems , and porting from legacy systems)
  • Maintainence Lifecycle
  • Upgrade LifeCycle
  • Custom Development LifeCycle
Whatever the lifecycle you may be working, there are three main testing phases you will be involved in
1) Test Preparation
2) Test execution phase
3) Test Evaluation phase
  • Test preparation phase

  1. Identification of business process to be tested
  2. Manual and automated test case development
  3. Creation of test suites and review
  4. Set up of test system
  5. Creation of test data
  • Test execution phase

  1. Test execution either manually or using test tools
  2. Test status reporting and defect handling
  • Test evaluation phase

  1. Detailed assessment of all test plans
  2. Defect Analysis
  3. Documentation of the testing process

Types of Testing Applicable to SAP applications

For SAP applications the common testing performed are:
  1. Unit Testing: This part of testing is mostly taken care by the developers based on their defined unit testing rules as per the organizations.  This is sometimes done by the skilful white box testers. The test is done in the development box. This is the testing of interfaces, conversions, enhancement, reports, work flows and forms(RICEWF) developed primarily with ABAP code. Testing of development object includes testing for security authorization, ,data transfer rules, reconciliations and batch scheduling jobs.  BW (Business Warehouse) testing is also part of the development tests.
  2. Integration Testing:  It is the testing of combined components of a SAP application to determine if they function together correctly. It is typically done in the QA environment and uses realistic test data. 
  3. Regression Testing:  Regression testing is done to ensure that the new changes implemented do not adversely affect the existing working code. SAP R/3 is a tightly integrated system. A single stack update, OSS note, transport, configuration changes, new development interfaces can have cascading and severe effect. Regression Testing is usually executed using automation tool by the testing team.
  4. Performance Testing:  It is testing SAP applications to ensure that they will perform well under expected workload.  Performance testing encompasses load , volume & stress testing to determine system bottlenecks. The aim of this testing is to enhance robustness of SAP applications and helps deploy systems that can sustain high load forecast, with zero post production performance issues. The testing includes checking business processes that may cause stress, due to high transaction or batch volumes. It is usually executed using automated tools & involves collaboration of basis, database, infrastructure and test teams to monitor test results.
  5. Functional Testing: Functional testing ensures that your implementation of SAP meets your business requirements. SAP is highly configurable system and could be easily integrated with in-house applications or third party tools. Given this varied configuration and complexity functional testing is a must. Functional testing removes uncertainty over business use cases and brings quality. It includes review of design documents and creating test artifacts including test requirements, test scenario and test cases. Functional testing is usually done by the testing team with a background in particular SAP module being tested.
  6. User Acceptance Testing (UAT): Once functional, system and regression testing is completed, UAT ( User Acceptance Testing) is performed.  It ensures that the SAP system  is usable for the end users of the system. The end users independently execute the user acceptance test cases that includes testing business processes, functions, documentation (operating manuals, cheat sheets) etc. With UAT users can feel comfortable with the new business environment and can take full ownership of the system.
  7. Security Testing: To ensure the safety of SAP applications, security testing is performed. High risk areaslikesap-portal security, network security, operational security, product security, access control and source code audit for security are tested. This is usually involves the basis, database, infrastructure, development and test teams.
  8. Portal Testing: These techniques involve testing the SAP Portals on different browser and checking business processes

How to create a SAP Test Case

Let’s design a test case to change the Name of an employee in SAP system
To create an effective test case, you must
  • Determine SAP role required to execute the test case
  • Identify the SAP transaction that needs to be executed for the test case
  • Test Data required executing the test case. Determine whether the data needs to be created or whether it used by another tester or whether the data is locked & cannot be modified.
  • Any Pre-requisites
  • Peer review Test cases
  • Create positive as well negative scenarios
  • Create detailed Test Steps.
  • Test coverage should be robust
  • Document defects in timely manner which is as soon as they are discovered.
Refer this video, for a guideline on how to change SAP Infotype

The test case designed for this is as follows -
Important Note
SAP is a humungous system with endless variations. Its neither feasible nor cost-effective to check all possible variations and combinations of test parameter inputs in SAP system.
As in above example , a tester could have verified change in Last Name, Date of Birth, Address, Pin Code, City , State, Country, change in permanent , temporary, work address etc.
A Tester needs to adopt strategies reduce the number of test cases without sacrificing coverage. Examples of such strategies include boundary value analysis, equivalence partitioning & orthogonal arrays.

Automated Testing of SAP Applications

Testing is a huge challenge for colossal system like SAP. As per recent study by ASUG, Over 86% customers are concerned about risks due to lack of comprehensive testing.

Automation has following benefits for SAP applications
  1. The chief and most valuable benefit is improved test coverage
  2. Better product quality and therefore less production outages. Outages in SAP productions environments could cost a company millions!
  3. Workload decreases with each release cycle
Automation Tools
The methodology and approaches are more important than the chosen test tool.  When you think about testing SAP application, some tools comes in mind naturally like SAP TAO, eCATT, QTP etc.

ECATT ( Extended Computer Aided Test Tool)

ECATT is used to create and execute functional tests for SAP.  ECATT is an in-built tool that comes bundled with SAP with a primary objective of automated testing of SAP business processes.
ECATT useful features
  1. Test transactions, reports and scenarios
  2. Call BAPIs and function modules
  3. Test remote systems
  4. Check Authorizations (user profiles)
  5. Test updates
  6. Test the effect of changes to customizing settings
  7. Check system messages

QTP ( Quick Test Professional Tool)

HP’s QuickTest is a keyword driven automation tool. It supports many environments including SAP. The tool is robust, feature rich and user-friendly. Its market leader in automation tool commanding major market share.  It’s a commercial tool with excellent vendor support. It’s a tool of choice for SAP automation.

SAP TAO

SAP released the automation tool SAP TAO in collaboration with Focus Frame(now acquired by Hexaware). 
SAP TAO wraps up QTP and QC where QTP acts as execution engine and test scenarios are created and driven from QC through business components.  SAP TAO automates generation of test components for end to end scenarios.  SAP TAO and HPQC setup do have some benefits compare to other testing tool there is a huge corporate support for both HP and SAP software products.
SAP TAO client application performs three functions, inspecting transactions from a SAP server, exporting the transactions to HP Quality Center and consolidating components or scripts from HP Quality Center.

Performance Testing of SAP Application

Performance testing of SAP applications is done to check its speed, scalability and stability.  Performance Testing SAP helps with
  • Conform with service-level agreements (SLAs).
  • Optimize software configuration settings.
  • Reduce overspending on hardware
  • Certify that the system will not crash or fail during seasonal high load and help avoid corresponding financiallosses.

  Events that Trigger Performance Test
Choice of Performance testing tool for SAP depends on the underlying SAP application being tested. Below is a list of SAP performance test tools and their application areas
  1. Open source/ Free
  • Jmeter -  (Performance Test SAP Business Obects BI Platform)
  • Open STA (Performance Test SAP Portals)
  1. Commercial
  • Load Runner (Performance Test SAP ECC amongst other SAP applications) – recommended by SAP
  • IBM  Rational Robot (Can test wide variety of SAP applications)

Conclusion

SAP testing offers tremendous career opportunities for QA enthusiasts. It’s a relatively easy way to break into the highly regarded SAP Consultant arena.

Free Jmeter Tutorial

Class Summary


Jmeter is a popular open source performance testing tool. Following 11 tutorials cover all aspects of JMeter to make you a testing pro.

What should i know?


The tutorials are designed for beginners with little or no performance testing experience. If you are new to testing first take the Software Testing course.


Syllabus


  1. Introduction to JMeter
  2. How to install Jmeter in easy steps
  3. Complete Element reference for Jmeter
  4. Hands on with JMeter GUI
  5. Performance Testing using Jmeter
  6. How to use Timers in Jmeter
  7. How to use Assertions in JMeter
  8. How to use Controllers in JMeter
  9. How to use Processor in JMeter
  10. How to perform Distributed Testing in JMeter
  11. Best Practices for your Jmeter Tests
  12. How To Use Jmeter for HTTP Proxy Server Testing
Check!

Test Management Tutorials

Class Summary


Test Management is a series of planning, execution, monitoring and control activities that help achieve project goals. This course is designed for newly appointed Test Managers and gives you the tips, tools & procedure to steer your project to success.

What should I know?


Fundamental knowledge of Software Testing principles is a must. 


Syllabus


  1. Introduction to Test Management for curious Managers
  2. Test management phases: A complete guide for testing project
  3. How precaution becomes cure: Risk analysis and Solutions in test management
  4. An expert view on test estimation
  5. How to organize a Test Team
  6. What everybody ought to know about Test Planing
  7. Achieve your Project Goals through Test Monitoring & Control
  8. Issue Management in your Testing Project
  9. How Test Reports predict the success of your Testing Project
  10. Software Quality Assurance:Test audit ∓ review makes your life easy
  11. The Unconventional Guide to Defect Management
  12. A complete guide to Test Process Improvement
  13. Testing Automation: Why Right tools are necessary for Testing Success
  14. How not knowing PEOPLE Skills blocks your success as Test Manager
  15. Top 20 Test Manager Interview Questions

Free Selenium Tutorials

Class Summary


Selenium is a popular open-source web based automation tool. This class will make you a pro in Selenium Automation. It is recommended you refer the tutorials sequentially, one after the other.

What should i know?


The tutorials are designed for beginners with little or no automation experience. If you are new to testing first take the Software Testing course.

Syllabus


First Look!!!
  1. Introduction to Selenium
Selenium IDE
  1. Install Selenium IDE and FireBug
  2. Introduction to Selenium IDE
  3. Creating your First Selenium IDE script
  4. How to use Locators in Selenium IDE
  5. How to enhance a script using Selenium IDE
WebDriver
It will be beneficial if you revisit Java , before reading tutorials on Webdriver
  1. Introduction to WebDriver & Comparison with Selenium RC
  2. Guide to install Selenium WebDriver
  3. Creating your First Script in Webdriver
  4. Accessing Forms in Webdriver
  5. Accessing Links & Tables using Selenium Webdriver
  6. Keyboard Mouse Events , Uploading Files - Webdriver
The Advance Stuff!
  1. How TestNG makes Selenium tests easier
  2. Introduction to Selenium Grid
  3. Parameterization using XML and DataProviders: Selenium
  4. Cross Browser Testing using Selenium
  5. All About Excel in Selenium: POI & JXL
  6. Creating Keyword & Hybrid Frameworks with Selenium
  7. Page Object Model (POM) & Page Factory in Selenium: Ultimate Guide
  8. PDF , Emails and Screenshot of Test Reports in Selenium
  9. Using Contains, Sibling, Ancestor to Find Element in Selenium
  10. Selenium Core Extensions
  11. Sessions, Parallel run and Dependency in Selenium
  12. Handling Date Time Picker using Selenium
  13. Using Apache Ant with Selenium
  14. Tutorial on Log4j and LogExpert with Selenium
  15. Maven & Jenkins with Selenium: Complete Tutorial
  16. Selenium with HTMLUnit Driver & PhantomJS
  17. Database Testing using Selenium: Step by Step Guide
  18. Using Robot API with Selenium

Free QTP (Quick Test Professional) Tutorials

Class Summary


In this class, you will learn test automation using QTP now called as HP Functional Test. It is recommended you refer the tutorials sequentially.

What should I know?


The tutorials are designed for beginners with little or no automation experience. Before you begin, refer this guide toinstall QTP. Knowledge of VBScript will help. 

Syllabus


  1. Introduction to QTP & ADD - Ins
  2. First Look Flight Reservation Application
  3. How to use QTP IDE
  4. Record & Run Settings | Recording the Script 
  5. Object identification process of QTP (HP UFT) is the core of its automation technology. Understanding the object identification process of QTP is key to becoming successful automation engineer. Pay attention to following lessons.
  6. Object Identification  (Must Watch)
  7. Understanding Expert View 
  8. Understanding Recorded Script 
  9. Replay | Run Settings 
  10. Test Results for QTP 
  11. Parameterization enables you to run the same QTP test for different test data. Checkpoints adjudicate the pass or fail status to your automation tests.
  12. Parametrization 
  13. Checkpoints - Standard CheckPoints 
  14. -  OutPut Values 
  15. If & Else Loop 
  16. Reporter.Report Event | Results Formatting 
  17. Actions 
  18. The biggest challenge in automation is recognizing GUI objects and manipulating those objects. QTP provides a range of tools like smart identification, ordinal identifiers, to deal with these challenges. Let’s study them-
  19. SMART Identification 
  20. Object Property Modification 
  21. Ordinal Identifiers 
  22. Local Object Repository 
  23. Develop Script in EXPERT View
  24. Recording Modes in QTP
  25. User Defined Functions
  26. Transactions 
  27. The goal of QTP automation is to run the test scripts unattended 24X7. But things can go wrong. A robust automation script should be able to handle any exceptions that may arise during script execution. Recovery scenarios will check and fix any error that occur during the automation of the script.
  28. Recovery Scenarios
  29. Optional Step
  30. GetROProperty | Object Spy
  31. Descriptive Programming - Part 1
  32. A frame work is a set of guideline for test automation which when followed during automation scripting produce beneficial outcomes like increase code re-usage, higher portability , reduced script maintenance cost, etc. Let’s study different types of frameworks.
  33. Test Automation Frameworks - (This is an Article not a Video)
  34. Creating Automation Frameworks with QTP
  35. Definite Guide to QTP Certification
  36. Business Process Testing(BPT)
  37. Using Excel with QTP
  38. Mobile Testing with QTP
  39. Environment Variable in QTP
  40. API are becoming very popular since it is time efficient, language independent, have easy GUI integration. QTP gives you a broad spectrum of features to do API testing.
  41. API Testing with QTP
Check!