Tuesday, January 9, 2018

Interview Question - What are the difference between web app and mobile app?

Mobile App:

A Mobile App is an application developed essentially for a particular handset and it will be installed directly onto the device.


Web App:

Basically, Internet-enabled apps that are accessible via the mobile device’s Web browser.



Accessibility:

A mobile app is totally compatible with the device’s hardware and native features, such as the GPS, the accelerometer, the compass, the list of contacts, and so on.

On the other hand, Web app can access only a limited amount of the device’s native features.

Upgradability:

A web app is much more dynamic than a mobile app in terms of updating the content.

Efficiency:

Mobile apps are more expensive to develop. However, they are faster and more efficient. Users can access the app only via the app store.



Web apps may result in higher costs of maintenance across multiple platforms. Also, there is no specific authority to control the quality of these apps.

Reach:

A web app is accessible across platforms and can be easily shared among users, as well as search engines, it has considerably greater reach than a mobile app.

User Interface:

Both the mobile apps and the web apps look and work the same way with a very little difference (The choice and decision is up to you ðŸ˜Š) 

Feel free to share your valuable feedback.Thanks.

Wednesday, January 3, 2018

Challenges we faced in Selenium Automation Testing

I work on Selenium Automation Testing and one of the major challenging tasks which I faced was, After invoking the application URL on any browser, it was required to authenticate the window based pop-up as below. The first challenge was selenium doesn't handle windows based pop-ups.

The solution is AutoIt tool (Click here!)
I wrote code using AutoIt which can easily handle the window based pop-up to enter credentials.
About AutoIt tool:
AutoIt is a tool where we can capture window based objects and write a simple AutoIt script. Once we compile & Run the AutoIt script file, It will generate the .exe file and which can be invoked within our selenium automation scripts.
Now, all we need to do is call the .exe soon after invoking the application URL. Please refer the sample code below
driver.get("application URL");
Runtime.getRuntime().exec("path where the .exe file exists");
Now the actual problem was AutoIt code was not getting triggered after invoking the application URL - driver.get("application URL").
Please find the solution to the above problem:
Subsequent lines of code will not execute unless execution of driver.get("application URL") method is complete. We found out that driver.get("application URL") was not getting completed unless we complete the window based pop-up operation.
The only solution is to run both driver.get("application URL") method and AutoIT code in parallel. This can be achieved with help of Java multi-threading.
After invoking the application URL, We will be giving control to window based pop-up and due to parallel execution, AutoIt.exe code will trigger and enter the credentials in a window based pop-up and completes the operation. Due to this, driver.get("application URL") method will also gets completed.
Code:
driver.get("application URL");
AUTOIT startExe=new AUTOIT ();
Thread t1 =new Thread(startExe);
t1.start();
Finally, I solved the issue.
Feel free to share your valuable feedback.Thanks.

Tuesday, January 2, 2018

Basic SQL Interview Questions & Answers for Software Testers

1. What is the difference between Delete and Drop commands?

Delete Command:
  • Delete removes the data from the table and the structure of the table will be retained.
  • This is a DML command.
  • Rollback is possible.
Drop Command:
  • Drop permanently removes both the data as well as the structure of the table.
  • This is a DDL command.
  • Rollback is not possible.
2. What is the difference between Delete and Truncate commands?

Delete Command:
  • Delete command deletes only the rows from the table based on the condition given in the where clause and also it deletes all the rows from the table if no condition is specified.
  • It does not free the space containing the table.
Truncate Command:
  • Truncate command is used to delete all the rows from the table and free the space containing the table.
3. What is a primary key?

A primary key is a combination of fields which uniquely specify a row. Primary key values cannot be NULL.

4. What is a foreign key?

The relationship needs to be created between two tables by referencing foreign key with the primary key of another table.

5. What is Joins in SQL?

Joins are used to combines the results of two tables. It combines the data based on the relationship between tables.

6. What are the different types of joins in SQL?

Following are the most commonly used joins in SQL:
  1. Inner Join
  2. Right Join
  3. Left Join
  4. Full Join
  5. Left Outer Join
  6. Right Outer Join
7. What is Inner Join in SQL?

Inner join returns matching rows between the two tables.

8. What is the difference between BETWEEN and IN condition operators?

The BETWEEN operator is used to display the rows based on a range of values. 
Examples:
Select * from blogs where pageviews BETWEEN 10 AND 20;

The IN condition operator is used to check for values contained in a specific set of values.
Examples:
Select * from blogs where country IN ('Germany', 'France', 'UK');

9. Is it possible for a table to have more than one foreign key? 

Yes, A table can have many foreign keys and only one primary key.

Thursday, December 21, 2017

Top 10 Agile Interview Questions & Answers

1. What is agile methodology and its advantage?

Agile methodology is the continuous iteration of both development and testing activity throughout the software development lifecycle.

Advantage:
The customer gets a chance to look at the product very frequently and make the decision wisely.

2. Tell me the agile ceremonies?
  • Sprint Planning Meeting.
  • Daily Scrum Meeting.
  • Sprint Review Meeting.
  • Sprint Retrospective Meeting,

3. Tell me the agile artifacts?
  • Product Backlog.
  • Sprint Backlog.
  • Product Increment.

4. What is Epic and User-story in agile?

Epic: Epic means big user story and it generally takes two or more sprints to develop and test the particular epic. They are usually broad in scope.

User-story: User-stories are derived from Epic and It has a high-level definition of a requirement.

5. What is burndown chart?

Burndown chart generally shows how quickly and effectively we completing our user stories in each iteration and also, it shows the total amount of work we deliver in each iteration.

6. Difference between Product Backlog and Sprint Backlog?

Product Backlog: Product Backlog is a list where all the details(Epics, User stories) are available to get the end product.

Sprint Backlog: Sprint Backlog generally derived from Product Backlog. During iteration, We will be selecting the stories from the product backlog.

7. What is Definition of Done (DOD)?

Definition of Done is a checklist that is required to develop the product and it's adding value to the product.

Checklists are:
  1. Design Documents.
  2. Coding.
  3. Review Comments.
  4. Unit Testing.
  5. Release Notes.

8. What is Product Increment?

At end of the sprint, The newly developed product must be in usable condition and it should meet the 'Definition of Done' and 'Acceptance Criteria'.

9. What is Sprint Retrospective meeting?

During the 'Sprint Retrospective' meeting, The team will discuss what happended in the iteration and also identifies the list of actions that are needed for improvement going forward.

10. How do you deal when requirements are keeps on changing?

I work closely with Product Owner to understand the changes and then update the test plan & test cases (Initially better to write generic test plan & test cases). Please don't go for automation until requirements are finalized.

Tuesday, December 19, 2017

Test Management Tool - Zephyr

   Import Bulk Test Cases from Excel into JIRA

   1. Launch the Zephyr.jar file.
   2. Enter the Project JIRA URL.
   3. Enter the Username and Password.
   4. Click on Connect.
   5. You can see your current project in the Project drop-down list.
   6. Choose the Issue Type as “Test” in the Issue Type drop-down list.
   7. Click on Discriminator drop-down list and choose as “By Test-case name change”.
   8. Mention the starting row as “2”.
   9. In the JIRA Field table, you can see the required columns for your project.
   10. Create the test case’s in excel with the columns displayed in the JIRA Field Table.
    a.*-Mandatory one.
   11. In the Excel Column Table, we need to Map the excel fields to the proper JIRA fields. To do so, mention the column ids.Example: A, B, C etc..,
   12. Click on Pick Import File button and import the excel sheet.
   13. Click on Start Import button.


Monday, December 18, 2017

Katalon Studio - Open Source Automation Framework for Web, Mobile and API Testing

Introduction:

Katalon Studio is a free and complete automated testing tool for Web testing, Mobile testing and API testing. This tool can be downloaded at the following link https://www.katalon.com/

Key Features of Katalon Studio:
  • Better & Faster results.
  • Hassle-free deployment.
  • Record & Playback.
  • Hand Coding.
  • Quick & easy set-up.
  • Multi-OS & Cross-browser application.
Hands-on with Katalon Studio:

Katalon studio is a user-friendly automation framework that is defined by the simplicity and speed. It is very helpful for automation team and individuals to spend the very minimal efforts from setting up a new project to executing tests and then monitoring execution results.
  1. Pre-defined structure of test artefacts: Test cases, Object Repository, Test suites, Data Files, Checkpoints, Keywords, Test Listeners and Reports.
  2. Custom keywords provide the flexibility in adding additional keywords to test the AUT efficiently for the specific and complex testing purposes.
  3. Support major testing needs: Web, Mobile and API.
  4. Execute multiple test suites at once with test suite collection.
  5. Extend current CI flow easily with console mode execution with no efforts. Executing command line can be generated quickly using 'Generate Command Line for console mode' feature by clicking on Build CMD option.
  6. Detailed Test Suite report reducing time in analyzing results. You can export it to the different format such as CSV, PDF, HTML and store it for later use.
  7. Enable automatic mail triggering functionality and customize email template.

Katalon Studio Workflow:

Initiate:

Integral Project Templates: By offering built-in templates for organizing test cases, test suites, object repository, data files and keywords. It makes automation testing very easier for both automation & manual testers.
Multiple Capabilities: It supports Web, Mobile and API testing on all operating systems.
Simple Deployment: Easy to integrate with Jenkins, GIT and JIRA with native plug-ins.

Create:

Automatic Test Generation: Generates scripts automatically using built-in keywords.
Smart Object Capturing: An advanced recorder detects object properties effectively to maximize recognition.

Operate:

Test execution made powerful: Runs test cases or test suites using multiple configurations and data sets.
Versatility in execution: This tool provides CI integration console with various parameters for remote execution. Runs tests on multiple browsers and operating systems
Flexible failure handling and auto re-execution: Includes run-time rules to automatically handle complex execution flows.

Report:

Reports available in several formats: With advanced logging, debug data, screenshots and enable automatic mail triggering functionality to the peers.

Maintain:

Intelligent test object maintenance: Automatically updates all the associated test files and suites when objects are changed.
Efficient test organization: Allows easy management and maintenance of tests, data and keywords.

Difference between Katalon and UFT/Test Complete:



Thursday, December 14, 2017

Automation Test Approach

Best Practices for Test Automation

  1. Major functionality tests should be identified by the QA team and prioritized according to the business requirements. These scenarios should be reviewed and approved by the Test Lead / Test Manager.
  2. Develop or customize the automation framework which suits the basic automation requirements and identify the test cases which can be automatable.
  3. QA Team starts with developing the automation scripts for the identified high priority test cases.
  4. Checkpoints will be created for each automated script to validate the test results against the input data.
  5. Before check-in the framework, automation scripts or any tools developed by QA Team, it goes through the code review process.
  6. Code review starts with the self-review followed by peer review, as per the defined coding review checklist and guidelines.
  7. Incorporate the review comments and check-in the automation scripts to source control like GIT, TFS and SVN.
  8. Generate test data required for test execution and automate test data preparation.
  9. Setup and validate by executing the automated scripts in the Automation environment.
  10. Execution of the automation scripts on the desired build of the application.