Posts

Showing posts from January, 2024

Test Stratergy & Test Plan

 Test Strategy High level document Test Plan Detailed level plan  Test Strategy Include objectives, resources, tools, testing types, environments Test Plan Include objectives, resources, tools, testing types, environments, test cases, test data, exit and entry criteria Test Strategy Target audience is who want to get overview of test approach like managers, project manager or other stakeholders Test Plan Target audience is the members who involved in testing process

Exceptions You have Handled in Your previous automation project

Image
When the user needs to read and get the data from a file but cannot read the file due to some issues how to handle it? Throw new exception Catch the exception and print stackrace private String readFileAsString (String filePath) { try { return new String(Files. readAllBytes (Paths. get (filePath))); } catch (Exception e) { throw new RuntimeException( "Failed to read file: " + filePath, e); } } When the user cannot find the note in the note view. It can be that the note is not displayed totally or the note number we are using exceeds the number of notes displayed in the note view   It gives ArrayIndexOutOfBoundException As the solution uses a try-catch block Print the stack trace with the proper message When we add explicit waiting in the script. However, the user's expected condition is not fulfilled within the duration. What can we do? Use try-catch block Catch the timeout exception and print the stack trace When creating a new file  Use try-...

Design a New Automation Framework

 Handle data scripts and Data separately Coding Standards Reports

Challenging issues you have worked on

 Explain each challenging issue you have worked on? Issue 01  : We are implementing two REST APIs for loading data related to the notes history versions Challenge Identify how many versions normally a note can have Identify how many notes a single patient can have What are the most used note types How many keywords a single note can have What is the length of a single keyword How to create that much data within a short period Solution Need to have information from the customer side  Ask developers to prepare the SQL queries  Send the queries to the customer and retrieve the required data Based on the data prepare test data Issue 02 : We had a legal requirement to show deleted notes Challenge: On which views/modules we are going to show the data How do we handle existing data issues like mandatory/non-mandatory issues What are the context menu options we are going to implement Impact on the customer side since we are loading deleted notes How to test if our environmen...

Areas to focus when testing an issue

 What are the areas that need to be focused on when testing a story? Affected functional areas Technical Impact The fix going to make Dependency functional areas Database related changes Impact on the existing data Different resolutions Different languages Impact for printing Impact on Data Mining Backward Compatibility test Performance test User documents updation Issues reported UI changes

Issues Encountered and How did you fix it

Image
 In the Team CI Environment, the scripts are successful one day. the other day it was failing. The next day it is successful. What can be the reason? It can be an issue specific to the relevant machine like a Windows update pop-up or some kind of notification showing up Network issue Server down Browser issue Resource issues like memory, CPU, disk space Users are already logged in to the system Existing live sessions are there The regression suite is failing. How do we highlight it during the daily scrum? when giving updates mention failures Mention the investigation results Highlight the risk of failing and the urgency of fixing them immediately Ask to flag the current working issue and take a new task to the sprint as unplanned  Another QA member is on sick leave. Tomorrow is release day. How do you handle the situation? Inform the situation to the scrum master Ask someone to help with the testing Create multiple environments and run automation scripts in parallel Inform abo...

Improvement I have done

 To avoid repeating the same steps as a lot in each test script Create navigation page Create methods for navigation It reduces the number of lines in the script For login there are 4 lines with this approach there is only one line with params For visit admission there are 10 lines with this approach there is only one line with the params Separate data creation and pre-condition steps from test scripts Use dependsOnGroup, dependsOnMethod group annotations and create separate scripts for data creations If the data creation fails the test script will be skipped When adding a pull request add a pre-defined template format to give the correct idea about the fix Add "Before Fix"  Add "After Fix" Add "Additional method" field How to identify code-level issues in page object classes? Link Sonar Qube analysis Configure bit bucket that cannot merge pull requests with critical or blocker sonar issues Nightly installation fails if there are sessions or the database i...

Issued Encountered During Automation and How You Fixed Them

There are multiple test methods in the same class. There is an order they need to execute. Otherwise, it will cause script failure Method 01 : Update the test method name based on the alphabetical order   Method 02: Use priority attribute in TestNG  When loading a specific page, there is a script failure since a progress dialogue appears and disappears after a few millisecond's Add implicit wait Add explicit wait with Expected Conditions stalenessOf() There is a node tree. After adding a new node web driver cannot identify it because there is a scroll bar appears. Use the JavaScriptExecutor class and executeScript() method Use ScrollIntoView method Add exception handling for a few methods to avoid null pointer exception When the driver tries to expand the node but it is not possible to expand add a try-catch block When uploading an image and the user cannot identify the file add try-catch block statements When we want to know the exact time our sign or save actions happen...

Automation Framework Structure

Image
 Automation Framework Structure Programming language: Java Testing tool: Selenium Test Framework: TestNG Log details: Log4J Design pattern: Page Object Model Encapsulation : Keep fields private, methods are public Fluent builder pattern : methods Test Script repository: Test scripts are based on functional areas Inheritance : Test scripts are extended base class Inheritance: Pages are extended PageObject class Data-driven : Use CSV file to keep the data pom.xml file configurations for test script repository test project name <name>cam-taf-cos-cd-test</name>  14. Client path 15. Test suite name <cos.client.path>CHANGE ME!!</cos.client.path> <cos.client.debug.port> 950 </cos.client.debug.port> <test.suite.file.name>regression.xml</test.suite.file.name> 16. Dependency projects <dependency> <groupId>se.camb.qa</groupId> <artifactId>camb-taf-cos-cd-pageobjects</artifactId> </dependency> 17. Mail r...

Quality Assurance Wisdom Wave

 1. What are the phrases in SDLC? Requirement analysis Design Development Review Testing Integration 2. Why SDLC is important? It provides a basis for project planning, scheduling and estimating It provides a framework for a set of activities and deliverables It is a mechanism for project tracking and control It increases the visibility of project status to all the stakeholders It helps to identify project risks beforehand 3. What are the QA responsibilities in each SDLC phrase? Requirement analysis : Understand each requirement clearly and clarify when needed. Prepare traceability matrix for test case and requirement mapping Design: Comes up with Test strategy, what to test and how to test Development: Set up test environment and prepare test case documentation Review: Understand what has changed what was done by the developer and what impact, check whether there is UT, IT coverage and decide what remains to automate. Testing: Perform functional, and non-functional testi...