Lecture Notes by Day

Day 1 - 6  week program. 1.5 month. Before christmas. Most members do it twice atleast. 


QA Automation SDET

  1.  Schedule : 
  2. M-T-T : Live Training. (1.5hr  day)
  3. W-F : Project and Assignments … showcase the progress. (2 hrs)
  4. https://go.itelearn.com - eLearning. 
  5. Videos will be hosted 
  6. All codes and files 
  7. Pricing : 3 options
  8. Only for this program - this batch
  9. ITeLearn - for 1 year to every new and old trainings 
  10. JPACT - for 1 year with projects
  11. JPACT Live Activities … in 2 weeks. (US Morning or 630p PT)
  12. R&D on automation, interview/job preps
  13. Sel/JRA/JMeter/Appium + Py + AnyAUT
  14. Sel + C# + AnyAUT
  15. Java Coding Challenge - OOPS … watch https://go.itelearn.com/courses/jpact-live-project-core-java1/lectures/21980730 
  16. Polls 
  17. AnyAUT.com -
  18. YT Video : 
  19. Skype Group : 6 weeks.  7 weeks.
  20. Action items
  21. Day 2 schedule
  22. Pricing
  23. Skype link 
  24. Teams … in 2 days. 4 groups. Mob Programming.\
  25. gForm for Acronyms/Quizes/


Day 2 : SDLC … STLC … AUT … Test Doc … Test Cases … Scrum/Kanban/Sprint


…. Applications … S/W … Web, Mobile, API


Pain >>> Req/Feature (Doc) >>> Plan (Est,People,Res,..) >>> Build (Dev/Exe, QA Test, Deploy)

Client/Customer/Payers >>> Product Owner, PM, BA, Client >>> Sprint Team, PM/TL/BA >>> Dev/QA/DevOps 



  • Waterfall … large chunks of projects spread over many months
  • Agile … smaller, faster deliverables. 
  • Waterfall … Agile 
  • Scrum Kanban ….
  • A core part of a smaller agile team. 6 to 10 people.
  • Sprint releases - 1 to 2 weeks 


AUT : Application Under Test


SFDC : Sales Force Dot Com

  • Cloud platform
  • CRM
  • Work Flow Automation … 
  • Use crowd based/available Business Rules
  • Ticketing
  • Link other apps to SF
  • Dont Create the 2 weeks free trial yet. 


Stories … User navigates through the application.


User Story / Use Case : uniformity across a large team to work together 

  1. AUT Link : 
  2. Browser : 
  3. Story Name :
  4. Detailed Steps : 
  5. Expected Output :
  6. Actual Output :



AUT

https://login.salesforce.com/

Browser

Chrome v86.0

StoryName

UC_SF_Login_1

Detailed Steps

  1. Open AUT
  2. Enter UName, UPswd
  3. Verify Error Msg for incorrect data

Expected

  1. Logo, Title
  2. User Labels and Fields 
  3. Error Msg “
  4. UName : [email protected] UPswd : kdjfgkdfhg

Actual

  1. Logo was missing (image not found)
  2. Labels and Fields are right 
  3. Error msg was different “Please check YOUR username and password. If you still can't log in, contact your Salesforce administrator.”
  4. UName : [email protected] UPswd : kdjfgkdfhg





Based on above reporting : 

  1. Raise a defect - QA 
  2. Fix the defect - Dev 
  3. Retest - QA 
  4. Deploy.



User Story / Scenario VS Test Case 

Larger Picture VS Precise (start and End)



JIRA - For collaboration, Doc, Agile, Scrum/Kanban.

  • Test Management Tool
  • Store requirements
  • Test Results
  • Dev also put their Unit Test Results
  • Story Points/Card Estimations
  • Traceability Matrix
  • Linked to other tools like QC/ALM
  • Link Sprint Stories as Releases. 
  • Scrum Boards, Project BackLogs
  • Task Manager, Reporter
  • Reporting Tool
  • For every member of the IT Team. 


Day 3 - Manual to Automation

Typical Scrum Team consists of : Meets daily for about 30 minutes. MoM (minutes of meeting)

  • IT Team - 1 Product Owner, 1 Scrum Master, 1 Business Analyst, 3-4 TechDev, 1-2 QA, 1-2 CI/CD, DevOps. 
  • Usually between 4 to 10 members. 
  • Sprint releases. Shorter, Faster to the market. 2 to 4 weeks. 
  • Quick Customer Feedback, goes back into the next sprint cycles. 
  • Sprint Cycle : Plan, Schedule, Charter, Team Members, Scope/Features, Out of Scope
  • AUT : SFDC … we will keep changing. 
  • Creating Issues, Stories/Epcis or Bugs in JIRA. Sprint cycle. 


Why Automation?

Manual Testing - Fallbacks. 

Tools and Methodologies.

Dont spend too much time on AUT Functionality. Only limited to what is needed for our learning.


Break down an AUT into modules or specific focus areas. 

Ex in SFDC we can do atleast 12 different modules. 

Each module may have 1-2.5 dozen to cases (avg of 15 per modules).

Total Test Cases = # of Mod  x  # of TC = 12 * 15 = 180 Test Cases.


Each Test Cycle : 

Functional or UI (User Interface) - 180 Test Cases

Mobile App Testing     - 120 Test Cases

Unit Testing by Dev     - 50 TC’s

Load/Performance Test   - 25 Smoke Tests

Smoke Test Suite - 25 top User Stories to Test

API, Database - Interacting for 25 API calls … gets latest API Responses and verifies. Without any need of a UI. Data is being exchanged using Requests. RESTAssured. REST API’s protocols. JSON. Postman. Custom API Framework.

UAT - very similar to smoke test, done business users. 

Total Test Scenarios - 500 TC’s or Scenarios.


Estimation:

  • Preparation of the TC : Documenting what is needed exactly. TS, TD, Expected Results.  Average time 30 min. 2 TC’s / PersonHour.
  • Execution of the TC : Execute to Test, go through the test, actual testing. To verify flows and scenarios in our Test Case. Running the Tests Steps that have been well documented in the proper order along with the proper test data. Average time 30 min. 2 TC’s / PersonHour.
  • Reporting on the TC post execution : Log an Error, details, screenshots, reproduction steps, Categorization and entering into your Project Tools. Pass - 5 min. Fail - 15 min.
  • Avg 3 pass + 1 fail = 15 + 15 = 30 min/4 TC’s. 8 TC’s / PersonHour


Releases, Sprint Releases, A new version with certain feature changes are coming in every 2-4 weeks. V1.18 will be v1.19 in 2 weeks. 

V1.18 - Requires how many hours of Testing

V1.19 - Requires how many hours of Testing


Regression Testing - is to retest the entire application again. Not just the Changes, Deletions and Additions. 


Estimation : 

# of TC’s : 500

Avg Time per TC :

  • Execution : 2 per hour. 500 TC’s = 250 hours
  • Reporting : 8 per hour. 500 TC’s = 62.5 hours

Total : 312.5 hours amount of QA required. 

Time : 1 week ( 40 hours per person)

QA Team Size Required : 8 member QA team.

Each Release : 312.5 person hours with a 8 member QA Team. 

Assuming :

  • Human does not get tired.
  • Human does not make mistakes. Let a defect slip through to production. 
  • Human does not require any assistance. 
  • BIG humongous task for any IT Team.


Why Not Automation : Drawbacks.

  • Teaching a robot/program/autoTool to do our manual tasks is not easy.
  • Can we rely on them.
  • Do they need supervision.
  • They cannot do certain activities that humans can do.
  • Can be expensive to put in place
  • Humans may lose jobs


What is for sure through Automation?

  • Fast. Faster than human. Speed. Efficient
  • Wont get tired. 
  • Build once. Reusable with minimal changes. Put in one place. 
  • Accurate. Once it is programmed right, very low chances of failure. 
  • Thumb Rules : ERA - Efficient. Reusable. Accurate. 
  • Save lot of human capital and expensive resources. 


Every Release

  • Series of tasks to perform. 
  • A flow of activities linked to each other.
  • Final release happens to the customer. 
  • Continuous Integrating and Continuous Delivery. 
  • DevOps

A QA Engineer needs to have a good basic idea on the all the Scrum Roles. 

.


Corporations/Clients : 

  • Happy customers.
  • Speed to market. Delight customers. 
  • Rely on internal operations with certainty. 
  • Complete control and visibility to top level management. 
  • People, Product, Features, Release Cycles, Operations, Escalations. 
  • Automate a lot of process (DevOps, CI/CD, Data Management, ML/AI, Workflow Automations, QA Automation)
  • ROI - Return On Investment on Automation Framework or Tools. Buy or hire people to do a project, it costs. When will be able to recover those costs. Benefits are more than the cost. 3-6 months Automations tools must be able to start showing a solid ROI. 



Day 4 : 

  • Automation Tools : 
  • Learn (u have to teach/code) + 
  • Do (execution monitored and customization) + 
  • Report (analyze and raise defect). 
  • Why Selenium? 
  • What was special about HP QTP?
  • Selenium IDE, Element Identification.
  • Desktop App : 
  • On my PC, Adobe or chrome or paint … 
  • on our desktops ms office file
  • Local
  • Private … no else can access unless they have access to ur m/c
  • Download any software and install/setup 
  • Sometimes desktop app may required internet to work .. ex Skype, 
  • Web App :  Cloud based … any web browsers .. need a browser and internet access to it 
  • Needs network to work properly
  • Can be accessed by anyone from anywhere to access the same app
  • Distributed
  • Anyone can access
  • No download … no install
  • Mobile Apps : 
  • Function on mobiles. iOS, Android, 
  • Run on mobile devices … like smart phones, tablet. 
  • Small s/w units with limited function (not as much on the browser or desktop) 
  • Provide users with quality services 
  • Summarizing most essential, packaging it for quick and easy access to users. 
  • Web - open browser and go the app. Resolution size/Dimension/Responsive websites. 
  • Native - download the app from iTunes, PlayStore etc… coding involved. Memory. 
  • Hybrid - combo of both in the mobile … also needs download. Native apps with a certain features serviced through the cloud. Memory.
  • Tools - perfecto simulator for resp OS’s
  • Connect to the the phone and perform the testing
  • Selenium does not directly work on mobile apps (native)
  • https://www.selenium.dev/ 
  • Download Selenium IDE. 
  • Record a Test …. Save … run…. Results.
  • Automation Tool Requires a few things …
  • Waiting for instructions. Clear.
  • Obedient in following.
  • Who’s fault is it if things go wrong?
  • Human behind the tool who is not giving it the right direction or instruction or back up scenarios. 
  • Smart in giving instructions. 
  • RECORD a Test … Listen Se. I will do few things on an AUT. Learn and repeat those steps back to me. So that next release onwards, I will run Se script rather than manual. I can do little tweaking. 
  • Robot needs only 2 things
  • What to do?
  • Where to do?
  • Robot will try to simulate or emulate the human.
  • What does the human use to communicate with the PC?
  • Mouse for GUI
  • Keyboard
  • Screen 
  • Depend on instructions. Type on keyboard, click on x,y coord, right click, enter on keyboard …. 
  • Selenium is a master at these functions. 

Quiz : Day 1 to 3 at the end of Day 4 session.  










Day 5 : Mastering Selenium IDE


IDE - Integrated Development Environment. Self sufficient tools to write, run and view run results. 

Automation is only as Smart at the human instructor behind it. Human failures. 

Thumb Rules : E R A

Step by Step … what is the real automation.

Instructions … What to do and Where to do?

Sel IDE : Command, Target, Value/Data


Pls write detailed Manual Test Cases before Automation. 


New AUT : https://www.mortgagecalculator.org/ (good for basic practice)

3 ways of creating test

  1. Record
  2. Write with no recording
  3. Record and Edit


Element Identification Methodologies (By) : 

- Source code in html. 

- Inspect specific element. 

- Get some unique identifiers for that element.


Attributes or identifiers for us. 

  1. ID
  2. Name
  3. Class
  4. CSS
  5. LinkText/PartialLinkText
  6. Tag
  7. xPath


Elements have

  1. Properties - describe an element (red car, logo) or identify it uniquely (VIN, EID)
  2. Methods - What you can do on a method (drive, clickLink, typeText)


<input 

id="homeval" 

class="right-cell" 

type="number" 

step="any" 

name="param[homevalue]" 

value="500000" 

placeholder="500000" 

size="10" 

tabindex="1">


HTML for the element or object.

HTML Tag - 1st word after < …. Input

AttNames = “Att-Values” 



Day 6 Assignment :  To be done NOW.

  1. Use https://go.itelearn.com/ as a new AUT.
  2. Without recording, please write a few Tests in Selenium IDE.
  3. Create 2-4 TC’s and ensure they run perfect.
  4. Please complete within 30 minutes. 5 to 530p PT. 
  5. Would like to review your work once done. 530p PT


Announcements:

  1. Last class on this GTW link. From tomorrow, members only on a different webinar link.
  2. Skype group for members (tomorrow)
  3. Dividing into teams for project work (next week)
  4. JPACT Related Sessions … Mock Interview 
  5. 30% off “OFF30”. 



Day 7 : JDK, Eclipse, Selenium WebDriver Installations 

  1. Java Development Kit - Write and Run J Programs/Project.
  2. https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 

  3. Eclipse IDE for Java - Open source IDE, very popular with Java Dev Community
  4. Ensure you give the path to the JDK installed in step 1. 
  5. Choose a new WorkSpace. 
  6. Selenium WebDriver programs in Eclipse/Java
  7. https://www.selenium.dev/downloads/ Download Selenium Server 
  8. Download Chrome Driver https://chromedriver.chromium.org/downloads choose the right version for Your Browser.



Selenium IDE does not have a powerful programming lang, Reporting, Frameworks, CI/CD.

Selenium WebDriver



Coding : 

  1. Syntax Errors : Wrote a wrong looking code. Cannot execute. Java has difficulty understanding your code. 
  2. RunTime Errors : No syntax error. Issue while running the code. 

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;


public class SelTest1 {


public static void main(String[] args) throws Exception {

System.out.println(" ~~~~~~~~~~~~~~~ Start of TEST ~~~~~~~~~~~~~~~ ");


// Test Parameters to be loaded. 

String bURL = "https://go.itelearn.com/";

String chromeDriver = "C:\\Training\\Nov2020-QA SDET\\Drivers\\chromedriver.exe";

System.setProperty("webdriver.chrome.driver", chromeDriver); // Pointing my ChromeDriver.

WebDriver myD; // A basic empty WebDriver. 

myD = new ChromeDriver(); // Opens a ChromeDriver Window.

//WebDriver myDriver = new ChromeDriver();

// 1. Go to AUT

myD.navigate().to(bURL); // Navigate method 

Thread.sleep(2000); // Java only command to Sleep the program for 2000 MS.


// 2. Get Title

System.out.println("Title is " + myD.getTitle());

// 3. Close the AUT

myD.close();

System.out.println(" ~~~~~~~~~~~~~~~ End of TEST ~~~~~~~~~~~~~~~ ");


}


}



public class JavaProg2 {


public static void main(String[] args) {


int x = 10;

int y = 20;

int z = x + y;

System.out.println("Value of z = " + z);

}


}



Complete and Continue  
Discussion

0 comments