Thursday, December 31, 2020

Interview Questions Series

 (Q) How to deal with defects that are NOT reproducible?

Ans:  Firstly we need to know "What is reproducible defect ?" While first time you got defect and you posted it. But dev team want to know how to occur that defect then you need to reproduce that defect with same steps & data. It means second time creating same scenario for that defect. If you can't reproduce a bug you can never fix it.

Secondly we need to know "What are Non-Reproducible defects?" Observing an issue whole day and at the end of the day when you reported that defect, you find it is no more reproducible.

For example, suppose a user is unable to add products to its cart. This happens 6 out of 10 times. Issue observed only when we restart the application.

In all these cases, it is hard to determine the exact condition and report it right. Such defects take a lot of time in the investigation of.  We can't ignore these kind of defect. 

So, how we can deal with that:

  • Clear all cache and cookies while reproducible defect
  • Proper documentation needed
  • Noting down each and every step and other details (like test data, environment, system settings, screenshots, server logs etc) will be a good practice to easily replicate the scenario.
  • Sometimes looking for similar defect or patterns can be helpful in reproducing a bug. It will be easier to identify the scenario if the pattern is understood
  • Verify a few more times to determine the occurrence of defect. Do not trust and report further on the basis of one single time occurrence of the issue
  • Testing with patience is the key factor as this might and will take a lot of time
(Q) What is difference between use case and test case?

Use Case: Use case is a representation of actions which describes the behaviour of system to do a particular task. Use cases are prepared based on requirements. Business users executes use cases.

Test Case: Test case contains the test data, set of instructions to follow and a result of following the instructions. Test cases are prepared based on Use cases. Testers executes test cases.

(Q) Common challenges faced in software testing?
  • Lack of requirements documentation
  • Writing test scenario with less documentation.
  • Lack of communication
  • Unstable test environment
  • Impossibility of complete testing
  • Regression and integration testing
(Q) How to resolve inconsistent defect?

Inconsistent means which is not stable. The inconsistent bug is a bug which is not appearing during the retesting process. That means it may appear or may not appear. This is very difficult to reproduce.

To handle these kind of defects, better to attach screenshots and clear steps to reproduce with test data while logging the defect to avoid unnecessary comments by other teams.

(Q) What is RTM? What does RTM contain?

RTM stands for Requirement Traceability Matrix. Requirement traceability matrix is a document that map and trace user requirement with test case. 

The main purpose of Requirement Traceability Matrix is to validate that all requirements are checked via test cases such that no functionality is unchecked during Software testing.

The agenda of every tester should be to understand the client’s requirement and make sure that the output product should be defect-free.

(Q) Difference between Alpha and Beta testing?

Alpha Testing is a type of software testing performed to identify bugs before releasing the product to real users or to the public. Alpha Testing is one of the user acceptance testing. Alpha testing used both the white box and black box testing. Reliability and security testing are not checked in alpha testing.

Beta Testing is performed by real users of the software application in a real environment. Beta testing commonly uses black box testing. Reliability, security and robustness are checked during beta testing.

(Q) Explain Test Strategy?

In simple term, "Test Plan is a vision of what you want to achieve and Test Strategy is an action plan designed to achieve this vision."

A Test Strategy is a plan for defining an approach to the Software Testing Life Cycle (STLC). It guides QA teams to define Test Coverage and testing scope. It helps testers get a clear picture of the project at any instance. The possibility of missing any test activity is very low when there is a proper test strategy in place.

(Q) Why do you need test plan and what does test plan contain?

Test plan helps us to keep the details of the testing scope, features, and functionalities to be tested for a build. Test plan also contains details of testing techniques and tools to be used. This prevents the testing team from putting any efforts in testing 'Out of scope' functionalities. 

A Test Plan is a detailed document that describes the test strategy, objectives, schedule, estimation, deliverables, and resources required to perform testing for a software product.



(Q) What are the fields in a bug report?

Field which is available during bug report is:
  • Bug Name
  • Bug ID
  • Bug description 
  • raised by
  • priority
  • Severity
  • Assigned to
  • reported by
  • reported on 
  • Status
  • Environment




Wednesday, December 23, 2020

Azure DevOps - Questions and Answers

1) What do you understand by DevOps?

DevOps is a culture that implies the collaboration between development and operations teams in an organization. It lays special focus on delivering software products faster and lowering the failure rate of releases.


2)What is the need for DevOps?

In Traditional times, after completing the development part, the code deployment time was huge. As a result, there were issues between the Development Team and Operations Team or the deployment team regarding the server. Well, DevOps solves the Traditional Dev and Ops fights by filling the drift that existed between two.



3) List out the top DevOps tools

  • The most popular DevOps tools are given below:
  • Git: Version Control System tool
  • Jenkins: Continuous Integration tool
  • Selenium: Continuous Testing tool
  • Puppet, Chef, Ansible: Configuration Management and Deployment tools
  • Nagios: Continuous Monitoring tool
  • Docker: Containerization tool


4) What is the use of Test Automation in DevOps?

DevOps does not only revolve around jobs or tools, rather it’s about people, culture, and automation. Continuous testing plays an essential role in writing scripts for software testing and make it auto executable so that we can automate the testing and do the frequent releases using the delivery pipelines.


5) What are the popular DevOps tools for continuous integration and continuous deployment?

The obvious DevOps tools for continuous integration incorporate Jenkins, GitLab CI, TeamCity, Bamboo, Codeship, CircleCI, and Travis CI. The popular DevOps tools for continuous deployment include Azure Pipelines for Deployment, Jenkins, Bamboo, DeployBot, Shippable, ElectricFlow, and TeamCity. 


6) Name the tools that are used for Continuous Testing?

For test Automation there are many open source tools are available, following are few names

  • Selenium
  • JMeter
  • JUnit
  • AntUnit
  • Cucumber
  • SoapUI
  • Tricentis Tosca


7) Describe Azure Boards

Azure board provides service to manage your works, using the Agile Scrum and Kanban templates, Dashboard that we can customize and reporting.


8) Present one example of the use of DevOps in real life?

Real world examples of Devops:

  • Git/GitHub: For source code management and version control system.
  • Docker: For software containerization.
  • Chef: For configuration management.
  • Selenium: For automated testing.
  • Jenkins: For developing CI/CD pipelines and server automation.
  • AWS: For cloud platform integration.


9) What are the important reasons to use Azure Boards?

Azure Boards provides you with a set of predefined work item types to support tracking features, user stories, bugs, and tasks. You can quickly get up and running by using your product backlog or Kanban board. Whatever Agile method you use, Azure Boards supports you with the tools you need to implement that method.


10) What is Azure Repos?

Azure Repos is a set of version control tools that you can use to manage your code. Use version control to save your work and coordinate code changes across your team. Even if you're just a single developer, version control helps you stay organized as you fix bugs and develop new features.


11) What are Azure pipelines?

Azure Pipelines is a cloud service that you can use to automatically build and test your code project and make it available to other users. ... Azure Pipelines combines continuous integration (CI) and continuous delivery (CD) to constantly and consistently test and build your code and ship it to any target.


12) What are the reasons to use CI and CD and Azure Pipelines?

Implementation of CI and CD pipelines is one of the best approaches for ensuring reliable and quality code. This is one of the important Azure DevOps interview questions that you should focus on. Azure Pipelines offer an easy, secure, and faster approach for automation of processes to build projects and ensuring their availability.

In addition, the use of Azure Pipelines for public projects is completely free. On the other hand, using private projects is also cost-effective as you get around 30 hours of pipeline jobs per month for free. In addition, you can also present the following reasons to use Azure pipelines for CI and CD in such Azure DevOps interview questions. 

Support for any language or platform

Deployment to various types of a target simultaneously

Integration with Azure deployments

Building on Windows, Mac, and Linux machines

Integration with GitHub

Capability for working with open-source project


13) What are Azure Test Plans?

Azure Test Plans are a service with Azure DevOps that provides a browser-based test management solution. The test plans also provide crucial capabilities in exploratory testing, user acceptance testing, and planned manual testing. Azure Test Plans also have a browser extension to provide exploratory testing alongside a collection of feedback from stakeholders.

Manual and exploratory testing are important techniques for the evaluation of a product or service quality. In addition, Azure Test Plans are also responsible for realizing the focus of DevOps on automated testing. Azure Test Plans helps in assimilating the contributions from developers, testers, product owners, user experience advocates, and managers to the quality of a project. 


14) What is the role of Azure Artifact?

Azure Artifacts is an extension that makes it easy to discover, install, and publish NuGet, npm, and Maven packages in Azure DevOps. It's deeply integrated with other hubs like Build so that package management can become a seamless part of your existing workflows.


Wednesday, November 25, 2020

Tosca Automation Tools

Tricentis Tosca is a software testing tool that is used to automate end-to-end testing for software applications. It is developed by Tricentis. Tosca combines multiple aspects of software testing to test GUIs and APIs from a business perspective.

Tosca is an enterprise tool because it is suitable to use in large scale applications. The tool comes with a certain price but provides an equal number of features to enjoy. Tosca has gained a lot of attention because it offers a good balance between performance and quality. 


What is the use of the Tosca Tool?

Every automation testing tools comes with both advantages of disadvantages. Hence, it is essential for testers to explore multiple tools to find the best option in the market. 

Tosca automation tool is one of the best and popular automated testing tools. It is highly used in large scale applications to find effective results. Most of the testers in automotive industries, Metal and Mining industries,  Financial and education industries prefer using Tosca because of its user-friendly features.

Benefits of Tosca Tool :

  • Deliver fast feedback for Agile and DevOps
  • Suitable for large scale operations
  • Reasonably Priced
  • Regular Updates
  • Maximize reuse and maintainability
  • Multiple Features in One Tool
  • No Scripting Required
  • Supports Multiple Platforms
  • Quality Vendor Support
  • Easy to Use Interface
  • Tosca is one of the best agile test management tool because it provides many features.
Tosca VS Selenium: 

Tosca

Selenium

Tosca is less popular than Selenium.

Selenium is highly popular as an automation testing tool among the companies of all sizes.

Scripting is not required for Tosca.

Multiple scripts are needed for Selenium.

Tosca is a paid tool.

Selenium is a free tool.

Tosca is used mostly by the diversified financial services industry followed by the automotive, metals and mining, airlines, and education services industries.

Selenium is used mostly by the internet software and services industry followed by Professional Services, diversified financial services, media, and communications

The type of automation is model-based for Tosca.

The type of automation is code-based for Selenium.

The ease of adoption and ease of maintenance are very high for Tosca.

The ease of adoption and ease of maintenance are low for Selenium when compared with Tosca.

The re-usability of test data and artefacts is low for Selenium.

The re-usability of test data and artefacts is high for Tosca when compared with Selenium.

Tosca has a dedicated support for deployment and adoption.

Selenium lacks dedicated support for deployment and adoption.



Friday, November 6, 2020

Appium: Mobile Testing

Appium is a free open-source test automation framework for testing native & hybrid apps and mobile web apps. It drives iOS and Android apps using the WebDriver protocol and supports automation test on physical devices as well as an emulator or simulator.

Appium supports all programming languages that have Selenium client libraries like Java, JavaScript with node.js, PHP, Ruby, Python, C#, etc.

It has NO dependency on Mobile device OS. Because APPIUM has framework or wrapper that translate Selenium Web-driver commands into UIAutomation (iOS) or UIAutomator (Android) commands depending on the device type, not any OS type.


Advantages of Appium:
  • It supports both Android and iOS
  • Allows testers to use real devices, emulator and simulators
  • It is free and open source
  • Enable testers to automate apps without adding extra components
  • It has a very well supported and active Google group
  • It is in the Selenium web driver spec so should be future proof
Disadvantages of Appium:
  • Does not support older versions of android
  • No support for intelligent waits
  • On iOS, you can only execute one test at a time per Mac
  • Limited support for gestures

Prerequisite to use Appium:
  1. The prerequisites to use Appium is Java SDK (minimum 1.6)
  2. Download and install JDK and JRE from Oracle JavaSE
  3. Download Android Studio
  4. Before initializing the Appium Server, Node.js must be pre-installed on the system
  5. Download any programming language  


Robotic Process Automation

Mimicking human actions to perform a sequence of steps that lead to a meaningful activity, without any human intervention is known as Robotic Process Automation (RPA).

Robotic process automation (RPA) occurs when basic tasks are automated through software or hardware systems that function across a variety of applications, just as human workers do. RPA software is designed to reduce the burden of repetitive, simple tasks on employees.




Robotic process automation (RPA) refers to software that can be easily programmed to do basic, repetitive tasks across applications. RPA creates and deploys a software robot with the ability to launch and operate other software.

Relation between Test Automation and RPA:

Automation is key link which is similar in both Software Test Automation and Robotic Process Automation. In both scenarios, the main objective is to complete redundant work faster and by eliminating human error. They help reduce FTE (Full Time Equivalent).

However there are certain differences as well. Test Automation needs to be applied to a product, it has to be implemented via different environments and it's also limited to a set of users.

On other hand, Robotic Process Automation can be applied to business processes and product. It only needs a production environment and can be used by all individuals in a team.

Benefits of RPA:



Top RPA tools:
  • WorkFusion
  • AutomationEdge
  • BluePrism
  • Automation Anywhere
  • UiPath
  • AnotherMonday
  • Kofax

Thursday, October 1, 2020

Behavioral Interview Questions

  1. Tell me about yourself?
  2. What do you know about the role as per the Job description?
  3. How your current role is related to the role you are applying for?
  4. Where do you see yourself in next 5 years?
  5. Have you heard about our organisation?
  6. How you handle your feedback from Team lead?
  7. Have you ever disagree with any feedback?
  8. Explain your current role?
  9. What is your strength?
  10. What value will you bring to the organisation?
  11. Your hobby is playing badminton so tell me, if you and your opponent will get tired and you have one match to win then what will be your strategy for winning that match? 
  12. I will give you four options about our company, choose any option and explain what is your thinking about that point?



Thursday, September 24, 2020

Commit code in GitLab through Visual Studio

1. Click on Team Explorer

2. Click on Changes 

3. Under "Changes" , right click on the file/folder which you want to commit

4.  Click on "Stage"










5.  Click on Commit Staged and Push


Over all look and feel of Team Explorer is mentioned below:


Monday, September 21, 2020

Jenkins Installation for Windows 10

 Steps for Jenkins installation for Windows 10 are mentioned below:

  1. Download the software from https://www.jenkins.io/ and Double click

  2. Click on Next
3. Click on Next

4. Enter Credentials and click on Test Credentials

5. Warning Symbol will get converted into green tick. Click on Next

6. Enter the port number as 8080 or 8081 and click on Test port to get the warning button get converted into green tick. Then click on next

7. Click on next

8. Choose option under Firewall Exception and click on next


9. Click on Install


10. In CMD run command: java -jar jenkins.war



11. Jenkins will be Installed and will automatically open the page http://localhost:8080/


12. Fill Details



13. Jenkin Dashboard



Thursday, September 17, 2020

Cypress Installation Method

 How to install Cypress:

  1. Create folder in local machine
  2. Open cmd and go to that folder
  3. Type npm init -y, then new json package created automatically

4. Type: npm install --save-dev cypress 

5. After installing cypress, open it by typing: npx cypress open


Featured Posts