Sunday, December 30, 2018

How to test an autocomplete address in Selenium C# driver?

 //Define Search Address
        [FindsBy(How = How.Id, Using = "autocomplete")]
        private IWebElement SearchAddress { get; set; }

// Send value in Search Address
SearchAddress.SendKeys("223 Mount Eden Road, Mount Eden, Auckland");
            Thread.Sleep(1000);
            SearchAddress.SendKeys(Keys.Down);
            SearchAddress.SendKeys(Keys.Enter);

Tuesday, November 20, 2018

How to create your own XPath

There are two types of XPaths: Absolute and Relative

Absolute XPath: starts with single "/" i.e. start with the root node.

Relative XPath: starts with double "//".

Tuesday, November 13, 2018

Uploading an image using AutoIT in selenium c# driver

//Creating an object
AutoItX3Lib.AutoItX3 autoIt = new AutoItX3();

//Mention the name of the active/opened window
            autoIt.WinActivate("Open");
//Path of the image /file to upload
            autoIt.Send("C:\\Users\\Dell\\Documents\\image1.jpg\\");  //Use double back slash
            Thread.Sleep(600);
            autoIt.Send("{Enter}");

Saturday, October 13, 2018

WSDL stands for?

Web Service Definition Language

Saturday, September 22, 2018

Mention what are the risk to be avoided while testing?


Some of the risks to be avoided are:
Missing deadlines
Unclear with the project requirements
Lossing customer’s trust
Exceeding the project budget
Maximum number of test cases failed

Mention what is the difference between Beta and Pilot testing?


Beta Testing: It is the testing of the product/system in user environment. All the end users will use the product and xcheck if it is working as per the given requirements. It is done after pilot testing is successful and the defects reported in pilot testing were fixed.

Pilot Testing: In this a group of end users will try the system prior to the deployment and will share their feedback on the basis of its performance. It is done in development environment.

Friday, September 21, 2018

What is the purpose of having a test plan document?


We create a test plan because it helps us to think through the efforts needed to validate the acceptability of a software product. It will help people outside the test group to understand the why and how of product validation. It describes the objectives, scope, approach and focus of the software testing effort.

When do you start and stop testing?

Testing should be start as early as possible. From the requirement gathering phase the testing should start.

Testing can be stopped if testing deadlines are met, completion of test case execution, management decision, etc. 

What is Entry Criteria, Exit Criteria and Suspension Criteria?


Entry Criteria: Criteria set to which the testing should begin and the criteria to which the testing could be stopped.  Example: All source code is unit tested, all hardware, software are in place, the test environment is set.

Exit Criteria:  Criteria that decide the completion or termination of the testing. Example: All test cases have been executed, deadlines reached

Suspension Criteria: The criteria to which the testing will be suspended. Example: If the team members report that there are 40% of test cases failed, you should suspend testing until the development team fixes all the failed cases.

What is Defect rejection ratio and Defect leakage ratio?


Both these ratios are used to determine the quality of test execution.
Defect rejection ratio: (No. of defects rejected/total no. of defects raised)*100
The defects that had no impact on the product quality.

Defect leakage ratio: (No. of defects missed/total no. of defects raised)*100

What is the difference between a Test Plan and Test Strategy?

Test Plan: It is a document that defines the scope, objective, approach on a software testing effort. It is carried out by the Test Manager or lead.

Test Strategy: It is a set of guidelines that explains test design and an approach to how the testing needs to be done. It is carried out by the Project Manager.

What is the process to create a Test Plan document?


There are various steps to create a Test Plan document:
1.       Analyze the product
2.       Design the test strategy
3.       Design the test objectives
4.       Define Test Criteria
5.       Resource Planning
6.       Plan Test Environment
7.       Schedule & Estimation
8.       Determine Test Deliverables

Ideally, who prepares the Test Plan document?


Test plan document is prepared by senior members, testing manager or test lead.

Saturday, September 15, 2018

Explain Requirement Traceability Matrix (RTM) in simple terms.


     
RTM is a matching between the test cases and the customer requirements. It is prepared before designing the test cases.

What is the process to write a manual test case?


   
Review all the project requirements in detail and based upon that identify all the test conditions or the main functionalities of the software.  Then the test cases are designed which includes the detailed description of the series of steps taken to check if the software is free of bug or not. Test cases are prioritized and are executed based upon their priority.

What is test scenario, test condition and test case?


     
Test scenario is the possible ways to test an application. It can be single or a group of test cases.

Test condition is a constraint that needs to be followed when testing an application. It can be a piece of functionality or anything you want to verify.

Testcase: It is a list of steps that need to be executed to validate the identified test conditions.

Explain the difference between an SDLC and STLC?


 SDLC: It is a systematic approach to develop a software. Requirements are gathered by the BA and reviewed by the developer. In design phase, the high level and low level designs of the software are met. The development of the application or the coding is done in development phase. The deployment of the application is done after passing.

STLC: It is a systematic approach to test a software. It is a part of SDLC. Requirements are reviewed by the testers. In design phase, test cases and test conditions are designed and which are executed in Execution phase. Detailed test cases are written in development phase. Deployment phase is the final stage in testing where testing is completed and reports are generated.

What are the activities performed in test design and test execution?



Test Design: Based on the requirement analysis, test conditions are written first and an approval is obtained from the QA lead. Then the detailed test cases are written which are reviewed by the QA lead. Also, test environment setup is completed in this.

Test Execution: This phase of STLC involves the execution of test cases. If any test case is failed, it is reported to the developer for fixing it. Once the developer fixes the bug, the test case will be executed again to retest the functionality.

What is the testing process followed in a company ideally?


Ideally Software Testing Life Cycle is followed for testing which involves various stages like Requirement Analysis, Test Planning, TestCase development, Environment setup, Test Execution, Test Cycle Closure.

Thursday, September 13, 2018

How to overcome the challenge of not having input documentation for testing?


Testers in this case can talk to the developers or Business analyst to clarify the requirements, to clear doubts. They can ask for references like links, screenshots, wireframes, flowcharts, etc.

What is Risk Based Testing?


It is a type of software testing in which prioritization of features, modules and functions of the Application Under Test based upon impact and likelihood of failures.

Why do organisations prefer Agile methodology over Waterfall or any other methodologies?


There are many benefits with using Agile methodology:
Continuous delivery of  useful software, face-to-face conversations, more frequent communication with the whole team, late changes in requirements are welcomed.

How does testing happen in Agile environment?


Testers have collaborative discussions across groups to get more insights into features. Testing team work in parallel to development team. Testing can happen continuously, providing timely feedback to the development team.

What is release note?


It is a document which is released as a part of final build. It contains new enhancements that went in as part of that release and also the known issues of that build. These are written by technical writers and are communication documents shared with clients.

When do you do impact analysis and how does it help improve the quality of software developed?


Impact analysis is the consequences or estimation of risks associated with the product changes. When some changes have to be done in the product, impact analysis should be done.
It helps the testers to decide on which areas to focus more on, where more time and resources should be allocated. It helps to increase testing efficiency.

Can you list few common challenges faced by software testers in general?


Subject awareness, limited time to test, setting up test environment, unavailability of best testing tools, no documentation.

Why do organisations need a separate testing team and what are the key roles for a tester?


An independent tester comparatively can find more defects than the developer, he will bring different set of assumptions for testing, avoid developer’s perception.

        Key roles of a tester: Identify defects and report, test artefacts, documentation, participate in            project meetings, design testing scenarios based upon requirements.

What are the key benefits for a team that follows Agile methodology?


Higher customer satisfaction, test early and often, frequent delivery of product, reduce risks, high product quality, more project control.

Difference between smoke testing and sanity testing?


      Smoke Testing: It is performed to ensure that the critical functionalities are working fine or not. This testing is performed by Developers or testers. It is the first testing on the initial build. It is done on every build.

Sanity Testing: It is done to check that the new functionality/bugs have been fixed. It is performed by the testers. It is done when the build is relatively stable. It is done on stable builds post regression.

How to avoid re-occurring defects?


 Re-occuring defects can be avoided using root Cause Analysis. Review all the requirements before writing test cases. Root cause analysis is the method to find the cause of the defect so as to identify the containment, corrective and preventive action, which will help to prevent the recurrence of the defect.

How do you identify test cases for regression testing?


Include the test cases that verify core features of the application, test cases that have frequently yielded bugs, include test cases for functionalities that have undergone some changes, include all integration test cases and include all complex test cases.

What is the difference between alpha and beta testing?


Alpha Testing: It is conducted with an organization. It is done in presence of developer. It is performed when the software is near its completion stage. This testing is conducted in virtual & controlled environment.

Beta Testing: It is conducted at client’s place. Developer is not present in this. It is performed after alpha testing is passed and before the release of the software. This testing is conducted in real environment.

Difference between functional and non-functional testing?


Functional Testing: Ignore the internal parts and focused on if the output is as per the requirements or not. Focus on business requirements of the application. It is a black box type of testing. It is based on customer’s requirements.

Non-functional Testing: It focuses if the product will provide a good user experience. It is used to check the readiness of a system. It is based on customer’s expectations.

Difference between system testing and system integration testing?


System Testing: It is used to check if the software system is made according to the user requirements, if it is acting according to it. It should meet both the functional and Non-functional Requirements of the system. Performed by Testers. It is a black box testing technique.  It is a high level testing.

System Integration Testing: It is used to check if the modules developed when combined together is giving the expected result. Only Functional Requirements is covered. Performed both by Testers and Developers. It is both black box and white box testing approach. It is a low level testing.

What is the difference between white box and black box testing?


White box Testing: Internal structure is considered in this. Performed by developers. It involves coverage of code. Programming knowledge is required in this. It is based on Detail Design Documents.

Black Box Testing: Used to test the software without knowing the internal structure of code/ system design. Performed by testers.  It involves coverage of the requirements. Programming knowledge is not required in this. It is based on Requirement Specification Documents.

Wednesday, September 12, 2018

How do you analyze the root cause of a defect?


Some defects are inconsistent and treating them is bit tricky. Every time you write test cases, review the requirement specification document. Analyze why the  bug is not appearing every time and try to test in different scenarios. Dig into each phase of the SDLC lifecycle to track the bug.

How do you deal with an inconsistent defect?


Inconsistent defect is the defect which sometimes appears and sometimes does not appear when testing is performed. To handle them, recreate the test and before writing test case, review the requirement specification document. Try to execute the test case in different scenarios to make it appear again.

What is the role of a Test Analyst in different phases of SDLC?


Planning and Requirement Analysis Phase:  Feasibility study of the requirements, risk analysis.

Defining Phase: Properly express the functional requirements and review the gaps between the features.

Designing Phase:  Prepare test plans, review the design from end user’s prospective.

Building: Prepare test conditions, test cases, setup test environment

Testing: Execute the test cases, report the bugs and perform all the tests

Deployment: Prepare user guide and manuals of the product, ensure nothing has been left that can create a problem with software deployment.

What is the role of a Customer/ Client in different phases of SDLC?

Planning and Requirement Analysis Phase: Define the requirements in clear state and give their inputs

Defining Phase: Approve product requirement document

Designing Phase: Review FSD

Building: Review the shared builds and give feedback

Testing: Test the builds and share feedback

               Deployment: Receive feedback from the users

What is the role of a Developer in different phases of SDLC?


Planning and Requirement Analysis Phase: Conduct product feasibility, identifying the risks, plan basic project approach

Defining Phase: Prepare Business/Product requirement document

Designing Phase:  Prepare Functional Specification Document (FSD) based on various parameters as risk assessment, product robustness, design modularity, budget and time constraints.

Building: Develop the product, generate programming code, send the develop modules for testing

Testing: Fix the reported bugs and resend for testing

Deployment: Release the product, maintenance of the product

Tuesday, September 11, 2018

What is a change request and how does a change request gets handled?


A change request is when a client wants some alternations in the agreed project scope.

To manage change request, ask for supporting material, determine whether the change request is inside or outside the project scope. Inside the scope takes less time and costs less whereas outside the scope is costly and may take more time. Access the priority of the change request, approve or reject the change request. If approved, the project deliverables will need to be updated.

How do you log a defect?


Following are the steps to log  a defect:
-Recreate the defect
-Attach Screenshot
-Report the bug

When does a defect gets rejected by the developer?


The defect is rejected if it is invalid, the requirements were not clear or there was change in requirements.

Can you name a defect that has high priority and low severity?


Logo error or any image icon error, grammatical/spelling mistakes.


When does a defect gets deferred?


A bug gets deferred when it is assumed to be fixed in next releases. The bug can also be deferred if its priority is low, impact is low and there is lack of time for release.

What is defect triaging?


It is a process in which bugs are prioritized based upon their severity, risk, occurrence, etc. The bugs are basically categorized.

Why do defects have priority and severity?


Priority defines the order in which the bugs should be fixed. Higher the priority, sooner it should be fixed.
Severity defines degree of impact a bug can have on the software being tested. Higher the impact higher will be the severity.

Priorities and severity are assigned to the bugs so that the development team can sort out which bugs should be fixed on urgent basis and which can be fixed at the end.

What are the fields in a bug report?


Bug ID, Bug Description, Date Report, Version, Steps, Reference, Raised By, Fixed By, Status, Date Closed, Severity and Priority.

Why is defect management process important in software development teams?


Defect Management plays a crucial role in software development. It is a process to identify the defects in the build or software and if there are some bugs, they can be assigned to the development team to fix. Once fixed, it can be retested to make sure if it has been really fixed and the client can be handover bug free software.

It is an internal process and is done by the testing team to discover all the defects before the client/customer finds them.

Monday, September 10, 2018

What is the role of a Business Analyst in different phases of SDLC?


         Planning and Requirement Analysis Phase: Identify the stakeholders, who all will be involved in the project. Plan the business analysis roles.

Defining Phase: Requirement gathering from the client, creating usecase diagrams, DFDs, etc.

Designing Phase: Review the proposed solution documents, keep the stakeholders engaged. Work closely with the designer to ensure requirements are clear.

Building : Frequent meetings with the developer to ensure the project is on the right track, review prototypes.

Testing: Review test scripts to ensure all functional requirements are being tested.

Who are the different stakeholders involved in different phases of SDLC?

Client, Business Analyst, Designers, Developers, Testers, Product Support Team.

Why do we need a separate environment for the developers and testers?

By having separate environments, the testers and developers can work at the same time. The developer can update the code and this can impact on the functionality being tested. If a QA tries to run a test on an environment that is constantly changing, it would be hard to make sure that all the features are working at any given time.

Which phase of SDLC does the testers begin to write test case?

The testing should be start as early as possible as it costs more when the defects are fixed earlier. From the designing phase, the testing can be initiated.


Difference between Business Document and Functional Document


Business Requirements Document describes what the required business/product/system achievements should be and means to measure the quality of those achievements. It expresses the main outcomes the business requires rather than specific functions the system may perform.
A Functional Specification Document in software development is the documentation that describes the requested behavior of an engineering system. The documentation typically describes what is needed by the system user as well as requested properties of inputs and outputs.

Difference between test case and and use case

An use case is a list of actions or event steps, defining the interactions between a role (known in the Unified Modeling Language as an actor) and a system, to achieve a goal. Whereas a test case is a set of conditions or variables under which a tester will determine whether an application, software system or one of its features is working as it was originally established for it to do.

Use case describes us the overview of the software functions to reach the final destination. Test case demonstrates the test progress and the interaction between the software and the user.