Interview tips

There are 3 important pillars to clear an automation testing interview in Australia.
  • Behavioural Questions using STAR
  • Tech Stack - Theory
  • Coding - algorithms and assignments

Behavioural Questions

Here is the list of important behavioural questions.
  • Tell me about yourself - Worked for RACQ, CTM, Sunsuper, Allianz, Unify, Great Southern Bank. Expert in diverse automation technologies.
  • Current role and resposibilities - Test plan, Requirement traceability matrix, writing tests, executing tests on cloud, checking reports, Tools used are cucumber, groovy, Maven + Java, RestAssured, Appium, Bamboo, Docker, C#.Net + Specflow. Responsibilities include automation of new tickets + Maintainance of tests on Bamboo and Cross browser testing on browsers and mobile devices
  • Strong qualities / Points - skills in hot technologies like UFT, Jira, Selenium, Appium, AWS, Docker, Cucumber + Collaberation. So right fit for the role + Work ethics + Flexibility + Commitment + Honesty and Integrity + Adaptability (New tech stack)
  • Weak qualities / Points - Communication and presentation
  • Why I should hire you? - Passion for automation, Tech blogs and books, Contribute to open source project on GitHub
  • Challenges faced - Requirements of domain, scrum process, code review process, Team member conflicts, weak CI/CD process, Cross browser testing challenges, Flaky results due to Synchronization issues, Dependency on devops
  • Achievements - Overcame above challenges
  • Automation testing benefits - quick time to test, continuous integration, Accuracy, Regression testing through automation can save lot of time and resources
  • Automation testing drawbacks - not everything can be automated, false negatives, Initial investment, Maintainance, Skills
Here is the list of concret examples of behavioural questions.
  • At CTM, code review and coding conventions were not being followed properly. So improved the process.
  • At unify solutions, Client wanted us to execute regression tests on 10 devices. I convinced them that this is like a burning a fingure and they said let us do risk based testing. 1 device from each OS and 3 screen sizes.
  • At Allianz, Regression tests took 3 hours to execute. So I optimized test suite by removing non critical tests and also removing hard coded wait statements.
  • At Sunsuper, lot of code duplication was found in tests. And also They had 500 team city builds. I proposed them that tests can be grouped based on functionality and builds can be reduced. Also scrum tickets did not have proper titles and description. I also recommended them to get rid of old tools like Quality Center and TFS.

Tech Stack

Each role may demand different skill set. So it is important to prepare accordingly. Some of the important tech stacks are listed down.
  • Daily activities - Deploy to Env (INTG, ACPT), webhook, CI-CD, Reports
  • Manual Testing - development models, scrum, tribe, amigo, Jira
  • Devops - aws, teamcity, azure devops, Jenkins
  • Critical Concepts - git + HTTP + Docker
  • Java + maven + junit + Selenium + cucumber + Postman
  • Java + gradle + testng + Selenium + Postman
  • Python + Selenium + Robot framework
  • C#.net + Selenium + specflow + RestSharp
  • JavaScript + Selenium + NodeJS API testing
  • Typescript + Mocha + Chai + Selenium + NodeJS API testing
  • Java + Selenium + API testing with RestAssured
  • API testing with ReadyAPI + Performance Testing with Jmeter
  • C#.Net + Mobile Testing + Appium
  • Java + Mobile Testing + Appium
  • JavaScript + Mobile Testing + Appium
Some tech questions that can be asked are
  • Explicit vs Implicit timeout
  • Explain in detail approach to do cross browser testing
  • Explain frame

Coding assignment and algorithms

  • Automate website
  • Test API using postman

API testing

You must know below stuff before appearing for an interview for an API tester role.
  • Rest - Representational State Transfer vs SOAP - Simple Object Access Protocol
  • WSDL - Web service description language vs UDDI - Universal description, discovery and integration
  • Various Content Types - e.g. application/json
  • Authentication mechanisms - Basic, Bearer
  • HTTP Protocol - HTTP
  • tools - Postman, newman, Readyapi
  • Unit testing and API Frameworks - Mocha, Chai, RestAssured, RestSharp
  • Synchronous tests vs Asynchronus tests
  • Restful Constraints - Uniform interface , Layered System - proxy can be added, Cacheability, Client server architecture, Statelessness
  • How to intercept the request
Here is the sample example using mocha, chai and chai-http.

let chai = require('chai')
let chaiHttp = require('chai-http')
chai.use(chaiHttp)

describe('Suite', () => {

    it('T1', async () => {
        let response = await chai.request("http://localhost:3000/api/hello")
        .get("/");
        chai.expect(response).to.have.status(200)
    })

    it('T2', async () => {
        let response = await chai.request("http://localhost:3000/api/contact")
            .post("/")
            .set("Content-Type", "application/json")
            .send({ "name": "n1", "email": "[email protected]", "phone": "0400000", "message": "M1" })
        chai.expect(response).to.have.status(200)
    })

    it('T3', async () => {
        let response = await chai.request("https://jsonplaceholder.typicode.com/users")
            .get("/1")
            .set("Content-Type", "application/json")
        chai.expect(response).to.have.status(200)

        //body
        chai.expect(response.body.id).to.be.equals(1)

        //headers
        chai.expect(response).to.have.header('Content-Type', 'application/json; charset=utf-8');
        
        //extract header value
        console.log('log -> ', response.header['content-type']);
        

    })

})

Then run the tests using below command. Note that mocha has a default timeout of 2 seconds.

npx mocha --timeout 10000 .jsonchai-apitest.js

XPATH vs JSON PATH

XPATH AND JSON PATH - https://jsonpath.com/ and http://xpather.com/
Description XPath JSONPath
the root object/element/$
Current object.@
Child operator/. or []
Parent Operator..N/A
Recursive Descent//..
Wildcard**
Attribute access@N/A
Subscript Operator[][]
Union Operator|[,]
Array Slice OperatorN/A[start:end:step]
Filters[] ?()
Script ExpressionN/A ()
Grouping () N/A

Performance Testing

  • Tools - Jmeter, Charles Proxy, Fiddler
  • Threads
  • Reports
  • Metrics - Throughput

Framework Components

  • Data model
  • Configuration manager
  • Logging
  • Reporting

Selenium

You must know below things about Selenium.
  • Synchronization
  • tools - Cypress

Daily activities

  • Attend daily standup
  • Understand requirments and ask questions on requirements
  • Writing functional tests as per user stories or business requirement document
  • Writing non-functional tests (Performance testing) like throughput and server load
  • Writing Security test scenarios
  • Designing automation framework
  • Version control - git e.g. github, stash, gitlab
  • git branching stategy
  • git branch protection rules to enforce pull request reviews
  • git webhooks - to notify external services when certain event happens
  • git - add secrets
  • Unit testing framework
  • Config manager - variables
  • logging and Reporting framework
  • Data modelling
  • Design pattern - Page object models
  • BDD or TDD - In bdd frameworks, state can be shared between test definitation classes using dependency injection
  • Running tests in cloud e.g. AWS, Azure devops
  • CI server - Jenkins, Teamcity, Bamboo
  • Integration of git repo and triggering tests using git post-recieve hook
  • Build pipeline - creates the build from the source code in a branch e.g. master and creates the build artifacts. Build steps depend on the tech stack. If project is based on maven, you will need to add "mvn test" or if it is nodejs based, you can use "npm test" So you will need to setup build agnets in such a way that all required sdks and tools are available on that agent. e.g. Nodejs and JDK, Macos XCode build tools. Also if you want to run the tests on Safari, you would need the agent based on MacOs
  • Release pipeline - Release pipeline consumes the build artefacts and then deploys the build to the target server. From automation testing perspective, we can use selenium grid running on K8s. Selenium-Chrome image can be used to start a container with chrome driver and chrome browser up and running. Or we can also run the tests on browserstack, Saucelabs etc.
  • Deployment can be done using octopus deploy
  • Once the deployment is done, we can send the HTTP POST request to the server to start the execution of tests
  • Test execution can also be scheduled or manually triggered
  • result analysis - We can use report plugin to show graphical reports e.g. Extent report
  • Tag automation test cases so that filtering is possible. Filtering is also possible based on the test tool that you use.
  • Raise the bugs with screenshot and video recording and stop the build from progressing to next stage. Regression testing usually is done in SIT and UAT. If the defects are found, we need to work together and fix the defect, retest and then we can deploy the build to next environment e.g. staging or production

Roles in Team

  • Tester
  • Developer - front end, back end and database, full stack
  • Tech Lead - Solution architect
  • Devops engineer - cloud engineer
  • Delivery manager
  • Business Analyst
  • Scrum Master
  • UX designer
  • Analytics and data scientist
  • Marketing Manager
  • CTO

STAR - Situation Task Action Result

  • Tell me about challenging pressure situation and how did you fix it - Manager asked me to take over the execution of regression suite even though I did not work on it before. So it was a difficult situation. I told her that Since I am doing this first time, I will need assistance from the Team and with the help from team members I was able to complete the task.
  • Any initiative you took - any time you went above and beyond? - Lot of tests were failing and not stable. So I took initiative to fix the existing issues in the test and optimized the queries.This was in addition to my existing project work.
  • Any situation you could have handled in a better way - I was working on a project independently and my work was not reviewed by anyone until last stage. So I should have proactively asked for the review from someone in other team.
  • Give example when defect is leaked into production? - I did not test all enum values of an API and for one of the enum, mapping was invalid in database. I think I should have added the test for that scenario.
  • Give example of low severity and high priority defect? - Logo is not looking good.
  • Give me example when you had a conflict of opinion with team member and how you resolved it - Team was using different builds for each API. I told them to group apis in single build to avoid duplicate code
  • Write tests for feature - User should be able to upload image
  • Write tests for feature - User should be able to select address - address with street number, unit number, manual entry, which countries should be supported

Technical Challenges

  • Cross browser challenges
  • Synchronization
  • EMAIL VERIFICATION
  • BIOMETRICS VERIFICATION

Scrum

Scrum is made up of multiple sprints. A sprint duration is normally 2 weeks.
  • Daily sprint meetings
  • sprint planning
  • Amigos
  • Huddle
  • Sprint retro
  • Sprint review and showcase

Spotify Model

Spotify tribe model - structuring the organization to scale agility. tribe trio form the alliance
  • tribe lead
  • product lead
  • design lead
A tribe can have multiple squads - chapter is a team formed with members from different squad in same tribe. An org can have multiple tribes - guild is a team formed with members from different tribes in same organization.

Azure devops

  • Azure devops has features like repos, Build pipeline and Release pipeline [Stages/Environments]
  • AWS CodePipeline is similar to Azure devops

Docker vs VM

Docker, containers and orchestration - Kubernetes - K8s - VMs are resource heavy, costly and difficult to manage. That's why dockers were invented.
  • We have a docker image and then we can start the container based on that image. e.g. if you want to run the selenium tests on chrome, you would need chrome browser and driver. Instead of manually downloading and configuring these binaries, we can use the selenium/standalone-chrome image.
  • Container is an instance of Image

Selenium limitations

  • Element is not clickable due to loading icon - explicit wait can be used
  • can not automate the save as dialogs - sikuli or AutoIT can be used
  • can not check Visual elements on the page - applitools and percy can be used
  • can not check PDF layout - applitools can be used
  • Managing browser versions and cross browser testing - Use browserstack
  • Running tests in cloud is challenging due to latency and network issues
  • Automation framework components are not loosly coupled

Mobile Automation

what is mobile automation

Testing the website on Mobile devices like iPhone, Android phones and tablets

Why it is crucial for business

Mobile traffic is more than the desktop traffic. Look at the stats - https://gs.statcounter.com/browser-market-share/mobile/worldwide

Mobile automation tools

  • Simulators vs Real devices
  • Appium architecture - https://softpost.org/tutorials/appium/appium-architecture.php
  • In-house setup vs Cloud setup
  • In house - Difficult to buy so many devices
  • Cloud setup - Easily access any physical device
  • Main cloud players - Browserstack vs Saucelabs vs Experitest
  • Example - Android chrome and iPhone Safari
  • All you need to do is pass the appropriate capabilities.

Android capabilities

  • platformName - android
  • deviceName - Pixel 9
  • browserName - chrome
  • browserVersion - 84
  • iOS capabilities
  • platformName - iOS
  • deviceName - iPhone 8
  • platformVersion - 12.1
  • AutomationName - XCUITest
  • browserName - safari
  • https://www.browserstack.com/automate/capabilities?tag=selenium-4

Challenges in Mobile automation

Biometrics - Face, fingerprint authentication [Use stubs] Scanning of documents with live camera [Use stubs]

Test Plan

Scope

Describe what will be and will not be tested
  • In Scope - Below features will be tested
  • Out of Scope - Below features will not be tested

Test Levels and Environments

  • Integration testing (Sanity and Regression)
  • UAT testing

Browsers and platforms

Describe the browsers and platforms that will be tested.
  • Desktop browsers - chrome, firefox, IE11, Edge, Safari
  • Mobile browsers - Safari on iPhone (iOS), Chrome on Android (Android)

Tech stack and tools

  • language - C#.Net/Java/JS/Python
  • library - Selenium/Appium
  • frameworks - NUnit, JUnit, Specflow, Cucumber
  • tools and services - Postman, Fiddler, Jmeter, Browserstack

Test Deliverables

  • Test plan
  • requirement traceability matrix
  • Bug reports
  • Test metrices - pass %, Coverage
  • Test summary report

Risks

unstable environments

Types of testing

functional - Testing done to validate that major features of software are working. Non-functional - Load testing, Compatibility testing, Localization testing and Internationalization testing, Scalability testing, Security testing, Recovery testing Features - Specific to business

Coding tools

Selenium
  • Web automation framework in Many languages - C#, Java, JavaScript
  • Works on MAC, Linux, Windows
  • Open source
  • Not Supported browsers - None
Cypress
  • Web automation framework in JavaScript
  • npm install cypress
  • Works on MAC, Linux, Windows
  • Open source
  • Automatic synchronization
  • Network traffic control
  • Not Supported browsers - Safari, IE
  • Codeless automation
Tosca
  • Developed by Tricentis and not open source
  • Model and Risk based testing
  • More like UFT supporting Web, desktop, SAP, Mobile, API testing

Domain Knowledge

  • Superannuation domain
  • Insurance domain
  • Banking domain
Superannuation Domain knowledge
  • USI - Unique Superannuation Identifier - USI replaces SPIN
  • SPIN - Superannuation Product Identification number
  • SFN - Superannuation Fund Numbe
Fund types
  • Corporate funds - setup by big companies for own employees
  • Industry fund
  • public sector fund
  • Retail funds sold by banks
  • SMSF - self managed super funds
When customer joins the super fund, they are given membership certificate and employer contribution certificate ATO (Australian Taxation Office) keeps track of your super accounts. It is mandatory for all super funds to report the super account details of all members with ATO Member can view super account transactions and annual statements Members can make addition super contribution that can be withdrawn when purchasing first home Withdrawals Income accounts (Pension account) - Recieve regular income after retirement Rollin - Transfer in the super Rollout - Transfer out the super Employer contributions (Super Guarantee) - Employers must contribue 10% (may change) of annual salary of employee towards super Super account has some fees associated with it fund's performance is usually measured in CAGR A person can have multiple super accounts. But multiple accounts mean more fees It is advised to consolidate multiple accounts to save on fees Super funds typically have three types of insurance for members:
  • life (also known as death cover)
  • total and permanent disability (TPD)
  • income protection
Generally it is not possible to withdraw from super unless person is going through hardships or pandemic like covid hits Super fund can various investment options
  • growth
  • balanced
  • conservative
  • cash
  • ethical
  • MySuper
Regulatory bodies
  • APRA - Australian Prudential Regulation Authority
  • ASIC - Australian Securities and investments Commission
  • SCT - Super Complaints Tribunal
  • AFCA - Australian Financial Complaints Authority
  • ATO - Australian Taxation Office
Insurance Domain knowledge Insurance types
  • Car
  • Medical Insurance
  • Travel
  • Life
  • Home and Contents
  • Income protection
Banking Domain knowledge Banking products
  • Savings account
  • Term deposit account
  • Current account - everyday account
  • Home loan account
  • Personal loan account
  • Credit Cards
  • Debit Cards

API testing examples

  • worked on SOAP API testing project
  • tested API services that create a customer, Add accounts to customer, get accounts of customer
  • Added assertions for the validation of API response to ensure that it matches the schema and data
  • Worked on testing the aggregation services of insurance products at compare the markets
  • Used features like Environment, Data driven testing, parameters, Assertions in SoapUi
  • Used Virtual service or mock api to test the services dependent on third party
  • Experience working on wsdl (soap), WADL (REST), Swagger/Open API, RAML and Smartbear - ReadyAPI

Behavioural questions

Test data issues drawback of scrum - frequent change in requirement ad hoc testing (needs domain knowledge) vs exploratory testing (no domain knowledge required) Pyramid structure How to find the scenarios for given requirements scrum vs tribe vs waterfall model Smoke testing vs Sanity testing what if requirements are not clear Defect evidence (screenshot and video recording) and reproduction steps How to manage conflicting opinions in regards to architecture, PR review comments? Retesting and regression testing Live project examples of testing - challenges - solutions multi threading reduced time and cost used asynchronous programming to reduce the time of execution for api tests in house grid using containers to save time and cost cross browser testing

Toptal interview process

  • Programming question - write a prog to find lower case letters
  • Regular expression
  • SQL queries
  • API Test
  • Selenium Test
  • Write test cases for a given scenario - e.g. Image upload functionality
  • kanban and agile [Sprints (2 weeks), Sprint planning session, Stories, estimate stories, write scenarios], Daily standup, Sprint retrospection - positive and negatives - define improvement process
  • General project and process questions - e.g. How to convince the developer
  • Fibonnaci series - 3 - small task, 5 - 1 day , 8 - 1.5 days, 13, 21 and product owner.
  • How to handle large regression suite. What third party libs you used
  • Database question - joins and group by
  • API automation - automate the api flow with http get, post etc
  • UI automation using Selenium - copy xpath - do not worry about brittleness
  • Live Project

Script to get the element selector


let temp = ""
document.addEventListener('click', function(e) {
    let html = e.target.outerHTML
    console.log(html);
    parser = new DOMParser();
    xmlDoc = parser.parseFromString(html,"text/html");
    console.log(xmlDoc);
    let css = "";

    let node = xmlDoc.getElementsByTagName("body")[0].children[0];

    if(node.getAttribute("id")!=null)
    {
      css = "[id='"+node.getAttribute("id")+"']"
    }else if (node.getAttribute("name")!=null)
    {
      css = "[name='"+node.getAttribute("name")+"']"
    }else
    {
      css = node.getAttribute("class");
    }
    console.log(css);
}, false);

SQL

When to use self join

examples employee id and manager id - get all employees whose manager is ? Get the list of all skills select distinct(skill) from T Get the nth largest salary

SELECT * FROM employee 
WHERE salary= (SELECT DISTINCT(salary) 
FROM employee ORDER BY salary LIMIT n-1,1);

Get nth record


SELECT
    *
FROM
    customers
ORDER BY
    customername
LIMIT 1 OFFSET n;

Joins

Join syntax vs multiple tables separated by comma result in same output But it is advised to use join syntax. Inner Join = Join

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;

SELECT column_name(s)
FROM table1
Left JOIN table2
ON table1.column_name = table2.column_name;

SELECT column_name(s)
FROM table1
Right JOIN table2
ON table1.column_name = table2.column_name;

SELECT column_name(s)
FROM table1
Full Outer JOIN table2
ON table1.column_name = table2.column_name;
Get the list of customers who have more than 1 orders

SELECT count(*) , * FROM Customers as C join  orders as o on C.CustomerId = o.customerid
where C.CustomerId <30
group by C.CustomerId
having count(*) > 1
order by C.CustomerId
Get the orders of given customer

select * from orders where orders.customerId = 5

get the list of customers who have ordered more than 5 times

select CustomerId from orders 
group by CustomerId
having count(*)>5)

get the list of all orders of customers who have ordered more than 5

select * from orders where orders.customerid in(
  select CustomerId from orders 
  group by CustomerId
  having count(*)>5)

Union vs Union all

combine record from 2 select queries Union all will allow duplicate records Group by and having exists Get the list of suppier names that provide products less than 20

SELECT SupplierName
FROM Suppliers
WHERE EXISTS (SELECT ProductName FROM Products WHERE Products.SupplierID = Suppliers.supplierID AND Price < 20);

any, all


Software development models

  • Waterfall
  • Iterative
  • Spiral
  • V Shaped
  • Agile - Minimum viable product

Scrums

Scrum is an agile style software development framework. Scrum has timebox iterations. Sprints are of 2-3 weeks long. Daily sprint meetings (Daily Scrums) occur and You need to Retros happen at the end of each sprint. In scrum, there are mainly 3 roles.
  • product (Business) owners
  • scrum master
  • development team
Roles of scrum master is to manage the sprint process and not people (unlike project manager). Scrum framework involves sprint planning, daily scrums, sprint review and retros. Sprint board vs Kanban board – Kanban board is used for maintainance type of project where the work is not planned. Kanban is a lean method.

Testing level or phases

  • Unit testing
  • Component
  • Integration
  • System
  • UAT (Acceptance testing)
  • Alpha beta testing

Test approach

  • static
  • dynamic
  • blackbox
  • whitebox
  • grey box
  • regression
  • Smoke test (Build verification test. Generally done before build is given to testing team)
  • Sanity testing (quick tests of critical features and advantage is that we get quick feedback)

Defects

Defect lifecycle – new, assigned, open, fixed, restest, closed Priority and Severity of the defect –

Test artefacts

Test plan, Traceability matrix, Test case, Automated test script and suite, test data, test report, ROI

IEEE 829 test plan structure

Test plan (Test strategy is a wider term) includes items like resources, budget and timelines, objective, scope, Process, tools to be used, Test plan identifier, Introduction, Test items, Features to be tested, Features not to be tested, Approach, Item pass/fail criteria, Suspension criteria and resumption requirements, Test deliverables, Testing tasks (test priorities, test execution and generating reports), requirement traceability matrix, ROI, Environmental needs, Responsibilities, Staffing and training needs, Schedule, Risks and contingencies, Approvals

Authentication and Authorization

authorization - basic , bearer, oauth

API Testing benefits

We can test backend application quickly (approx. 10 mins) by API testing API testing can discover the unhandled errors and invalid responses. e.g. If start date is in the past, calculate premium endpoint throws "Failed to process credit card payment. Please try again." This error message is misleading. So there are lots of similar improvements can be done in api. Application is made up of Frontend (GUI) and Backend(API). Selenium covers frontend testing only. That's why we need to automate the API tests. API tests will improve the application quality.

git

Version Control System - git - git clone, Checkout branch - (master, dev), New branch say feature A - Make changes - git commit - git push - Feature A. Create Pull Request - Approve/Decline/Request changes - resolve changes - Merge Typical git workflow - Clone, Create feauture branch, Build, Deploy to feature url. A developer has a working copy of source code on their machine, and changes are submitted to the repository, being committed either to the trunk or a branch, depending on development methodology.

Cloud

Cloud - CI server (Jenkins, Bamboo, Teamcity, Azure, AWS) and agent

CI and CD

Continuous Integration - Integrating changes done by all developers as often as possible. This is used to avoid merge hell or "integration hell" CI - CD - Continous delivery and deployment. Git hooks are used to trigger the build Continuous integration is intended to produce benefits such as: Integration bugs are detected early and are easy to track down due to small change sets. This saves both time and money over the lifespan of a project. Avoids last-minute chaos at release dates, when everyone tries to check in their slightly incompatible versions When unit tests fail or a bug emerges, if developers need to revert the codebase to a bug-free state without debugging, only a small number of changes are lost (because integration happens frequently) Constant availability of a "current" build for testing, demo, or release purposes Frequent code check-in pushes developers to create modular, less complex code With continuous automated testing, benefits can include:
  • Enforces discipline of frequent automated testing
  • Immediate feedback on system-wide impact of local changes
  • Software metrics generated from automated testing and CI (such as metrics for code coverage, code complexity, and feature completeness) focus developers on developing functional, quality code, and help develop momentum
Release management is the process of managing, planning, scheduling and controlling a software build through different stages and environments; including testing and deploying software releases.

Test design techniques

  • equivalence partitioning
  • Compatibility testing
  • Exploratory Testing
  • State Transition Testing
  • Boundary Value Analysis
  • Usability
  • Accessibility

Manual testing concepts

  • Story points - Fibonnaci series
  • Scrum Chart - burndown, velocity
  • Sprint planning and retro
  • Environments - dev, integration, uat, staging, production
  • ISTQB
  • Software development models – Waterfall, Iterative (After each iteration, the product may not be in usable state), Spiral (combination of waterfall and iterative), V shaped (Testing and development in progress), Agile (requirements keep changing, Minimum viable product as soon as possible)
  • Scrum is an agile, iterative, incremental framework for managing product development. Scrum has timeboxed iterations. Each iteration is called as a sprint and may take a week to month. Everyday there are standup meetings and they are called as daily scrums. In scrum, there are mainly 3 roles – product (Business) owners, scrum master and development team. Roles of scrum master is to manage the sprint process and not people (unlike project manager). Scrum framework involves sprint planning, daily scrums, sprint review and retros.
  • Sprint board vs Kanban board – Kanban board is used for maintainance type of project where the work is not planned. Kanban is a lean method.
  • Testing levels or phases – Unit testing, Component, Integration, System, UAT (Acceptance testing), Alpha beta testing
  • Test approach – static, dynamic, blackbox, whitebox, grey box, regression, Smoke test (Build verification test. Generally done before build is given to testing team), Sanity testing (quick tests of critical features and advantage is that we get quick feedback)
  • Test techniques – Compatibility testing, Exploratory Testing, State Transition Testing, Boundary Value Analysis, Equivalence Partitioning, Usability, Accessibility, Security testing, Performance testing
  • Defect lifecycle – new, assigned, open, fixed, restest, closed
  • Priority and Severity of the defect – 
  • Test artifacts – Test plan, Traceability matrix, Test case, Automated test script and suite, test data, test report
  • IEEE 829 test plan structure – Test plan (Test strategy is a wider term) includes items like resources, budget and timelines, objective, scope, Process, tools to be used, Test plan identifier, Introduction, Test items, Features to be tested, Features not to be tested, Approach, Item pass/fail criteria, Suspension criteria and resumption requirements, Test deliverables, Testing tasks (test priorities, test execution and generating reports), requirement traceability matrix, ROI, Environmental needs, Responsibilities, Staffing and training needs, Schedule, Risks and contingencies, Approvals
  • Metrics – Code coverage, Bugs per line of code,  ROI
  • Automation project steps – POC, Test plan, Test automation framework, Application knowledge and training, Automating the tests, Integration with CI servers, Maintainance

Automation testing Concepts you must know 

  1. UFT – Object repo vs Descripting programming, UFT vs LeanFT, UFT vs Ranorex
  2. Jira – Sprint vs Kanban Board, Jira Workflow, Integration with Version control system, Agile vs Waterfall models, Using code feature to style the text, Epic vs Ticket, Writing filters, Configuring boards and dashboards, creating projects
  3. GIT and GITHUB – Cloning repo, How to commit, pull and push changes, How to resolve conflicts, How to revert the changes, How to view changes, Git branching models, Working on Github, Creating pull requests, Reviewing changes and approving pull requests
  4. Cucumber – Hooks and cucumber options for rerunning failed scenarios, generating reports, tagging scenarios and running specific tags with AND, OR, XOR combination, Gherkin, BDD
  5. Difference between testng and junit – When to use JUnit and TestNG, Various annotations, Creating test skeleton
  6. Difference between maven and gradle – What are the pros and cons of both tools, maven phases and goals, Maven profiles, Maven repo, Maven plugins, View dependency tree
  7. Linux and powershell commands – All important linux commands, Frequent linux tasks that can be automated, Writing shell scripts, Profiles, Shell variables, User variables, Package managers and Installations, Vagrant, Difference between Desktop, VM, vagrant and Docker
  8. Appium vs Selenium – How appium is different, Page object models
  9. Appium on Mac – Running tests on iPhone, iPad simulators
  10. AWS, Bamboo and Docker – Creating EC2 instances and configuring it with docker, bamboo agent process and running tests on it, Bamboo tasks for AWS plugin, Deploy plugin, Teamcity and Jenkins
  11. Jmeter – How to use Jmeter to do performance testing, HTTP config element, Extracting data from JSON responses using JSON extractors, Extracting data from response headers, Using HTTP header elements, Creating thread groups, Generating reports using report elements
  12. Java – core OOPS concepts, Classes vs Interfaces, Generics, static and singlton, multi-threading, collections, Serialization and Reflections, Casting objects and type conversion, Final vs Static, Utility classes, Regular expressions, Useful libraries e.g. apache common, Mustache, Springboot and Database handling, Input and output, File handling
  13. C#.Net – Build management tool – MSBuild, Package management – Nuget, Important namespaces and classes, Data types and type conversion, OOPS concepts, Strings, Regular Expressions, File handling, Collection and Generics, Anonymous methods, Properties (getters and setters),
  14. Javascript – Objects and classes in Javascript, ECMAScript Versions, Javascript frameworks, DOM vs BOM, Events, Apply, call bind, this object, closures, Hoisting variables, including js files in other file
  15. IntelliJ – Tips and shortcuts in IntelliJ IDEA
  16. SQL – all important sql queries, joins, finding unique and duplicates, sql functions, triggers and procedures
  17. Protractor – How to write and execute tests in protractor, Javascript test frameworks
  18. Rest endpoint testing – RestAssured, Postman, SoapUI
  19. Security testing
  20. Optional things  –  Groovy, Python, Ansible, React and Node.js, NPM, Spring boot, Tosca, TestComplete

Structure of Interview in Australia

  • Apply on seek.com.au or Jora.com.au or indeed.com.au or LinkedIn or References and contacts
  • Full time vs Part time
  • Permanent vs Contract based – No leaves, no job security, low work life balance but high salary usually stated as daily rate ($400 to $1000 per day)
  • Recruitment agency vs direct HR engagement – Direct HR contact is always preferrable as it is a faster way to secure the job. But 70% jobs come through agencies so you should be ready.
  • Ask them to schedule the interview early in the morning so that you will not have to take sick leave. After interview, you can go and work in your current company so that no one will doubt that you are looking out for a job. Do not tell anyone in the office that you are actively looking for job. This may put you in trouble.
  • Aussie Accent and Listening practise – For people with no western accent and listening experience, it can be very difficult to clear the interview. So practise listening to western music and movies. Also be very attentive and listen carefully. If you did not get the question, you can say “Pardon me” or “Say that again” or “Sorry can you please repeat your sentence” or “Can you please speak slowly” or “Can you please rehrase the question”
  • No of rounds depends on company. Most of the times, you will need to visit the company office twice. First for HR round and second for Tech interview or other way round. But some people manage to get a job in single visit as all rounds are planned on the same day.
  • Your job Referee – You should be ready with 2-3 referee. Your team leader or manager can be your referee. Make them aware about possible verification call from the HR department.
  • Interview Panel may contain 2-3 people
  • Questions will be based on the roles and responsibilities, Strong and weak points, Best qualities a team member or leader should have, why we should hire you, tools and framework, main challenges, achievements
  • Negotiating salary – You are not obliged to tell new employer about your current salary. It is your choice.
  • On first day of job, submit documents like TFN, Superannuation details, Signed Contract etc. You usually go through induction on first day. Car parking is provided but it is not free. They usually charge $100 per month for the covered parking
  • Notice period – It is counted in weeks and not in months. Most of the companies have notice period of 4 weeks.
  • Probation period is usually 6 months and during probation they can fire you. If you want to resign during probation, notice period is usually 2 weeks but again depends on each company.
  • Personal / Sick leaves vs Annual leaves – Sick leaves will not be carry forwarded to new year. Most of the managers will not ask for the medical letter if you take a sick leave.
  • Work hours – Official working hours are usually 8:30 AM to 4 PM. I have not seen anyone working on weekends or after hours.
  • Annual parties and other milestone parties – Parties are typical western style with hollywood music and lots of beer. Indians usually do not like the food in parties as veg options are minimal and in non veg, there will be options like beef/pork/ham/ bacon/chicken/fish. Strange thing is that even waiters will not be able to tell you the ingredients of the food. I have lot of friends who have eaten beef/pork burgers thinking that it will be a chicken berger or veg berger. That’s a terrible experience. So you need to be very careful.

Resources

Ad