
CGI Group


30+ CGI Group Senior Test Engineer Interview Questions and Answers
CHAR is fixed length while VARCHAR2 is variable length in SQL.
CHAR stores fixed length strings, padding with spaces if necessary.
VARCHAR2 stores variable length strings, only using the necessary space.
CHAR is faster for fixed length data, while VARCHAR2 is more flexible and efficient for variable length data.
Lambda expressions are anonymous functions that can be passed as arguments or returned from methods.
Lambda expressions are concise and can be used to represent a single method interface.
They do not have a name, return type, or access modifier.
They can have zero or more parameters and a body that contains the code to be executed.
Lambda expressions can be used in functional interfaces to provide implementation for abstract methods.
Example: (x, y) -> x + y is a lambda expression...read more
Use a subquery to find the second highest salary in SQL.
Use a subquery to select the maximum salary from the table.
Then use another subquery to select the maximum salary that is less than the maximum salary found in the first step.
Combine both subqueries to get the second highest salary.
Abstract class can have both abstract and non-abstract methods, while interface can only have abstract methods.
Abstract class can have constructors, fields, and methods, while interface cannot have any implementation.
A class can only extend one abstract class, but can implement multiple interfaces.
Abstract classes are used to define common behavior among subclasses, while interfaces are used to define a contract for classes to implement.
Example: Abstract class 'Shape' with ab...read more
You can run a selected test from a group of tests in Cucumber by using tags.
Add tags to the scenarios you want to run
Use the --tags option when running Cucumber to specify which tags to include/exclude
Example: cucumber --tags @smokeTest
An Array is a fixed-size collection of elements of the same type, while an ArrayList is a dynamic collection that can grow or shrink in size.
Arrays are fixed in size, while ArrayLists can dynamically resize.
Arrays can only store elements of the same type, while ArrayLists can store elements of different types.
Arrays are faster for accessing elements, while ArrayLists are slower due to boxing and unboxing.
Arrays are strongly typed, while ArrayLists are not and require casting ...read more
BDD is a software development process that encourages collaboration between developers, QA, and non-technical stakeholders.
BDD focuses on defining the behavior of a system through examples in plain language
Uses a common language (like Gherkin syntax) to create executable specifications
Tests are written in a way that they can be easily understood by non-technical team members
Promotes communication and collaboration among team members to ensure everyone has a shared understandi...read more
Java 8 streams are a sequence of elements that support functional-style operations.
Streams allow for processing sequences of elements in a functional way.
They can be created from various data sources like collections, arrays, or I/O channels.
Common operations on streams include map, filter, reduce, and collect.
Example: List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); Stream<String> stream = names.stream();
Example: int sum = numbers.stream().filter(n -> n % 2 == ...read more
Q9. What are different keywords in gherkin?,write a script for given scenario, what is backend testing, java basic questions
Answering questions related to Senior Test Engineer interview
Different keywords in Gherkin include Given, When, Then, And, But
Example script for scenario: Given I am on the login page, When I enter valid credentials, Then I should be redirected to the dashboard
Backend testing involves testing the server-side components of an application
Java basic questions may include concepts like OOPs, exception handling, and data structures
Data encapsulation is the concept of bundling data with the methods that operate on that data within a class.
Data encapsulation helps in hiding the internal state of an object and restricting access to it.
It allows for better control over the data by preventing external code from directly modifying it.
Encapsulation also helps in achieving data abstraction, where the internal details of an object are hidden and only the necessary information is exposed.
For example, in a class ...read more
ALIAS command in SQL is used to give a table or column a temporary name.
ALIAS command is used to create a temporary name for a table or column in a SQL query
It is often used to make the SQL query more readable and concise
ALIAS can be used for tables (e.g. SELECT * FROM employees AS e) or columns (e.g. SELECT emp_id AS employee_id FROM employees)
No, static methods cannot be overridden in Java.
Static methods belong to the class itself, not to any specific instance of the class.
Subclasses can define static methods with the same signature as the parent class, but it is not considered overriding.
Example: Parent class has a static method 'display()', and subclass also has a static method 'display()', but it is not overriding.
A view in SQL is a virtual table based on the result-set of a SELECT statement.
Views are used to simplify complex queries by storing them as virtual tables.
They can be used to restrict access to specific columns or rows of a table.
Views do not store data themselves, but display data from the tables they are based on.
Changes made to the underlying tables are reflected in the view.
Annotations in Cucumber are tags used to define metadata for features, scenarios, and steps.
Annotations start with the @ symbol and can be used to organize and filter scenarios
Annotations can be used to define preconditions and postconditions for scenarios
Examples: @SmokeTest, @RegressionTest, @Before, @After
Q15. What is the purpose of the "super" keyword in Java?
The 'super' keyword in Java is used to refer to the immediate parent class object.
Used to access methods and variables of the parent class
Used to call the parent class constructor
Helps in achieving method overriding
Q16. OOPS concept and how it is used in your project
OOPS is used extensively in our project for creating modular and reusable code.
We use inheritance to create a base class for common functionalities and derive child classes for specific functionalities.
We use encapsulation to hide the implementation details of a class and provide a clean interface for other modules to interact with it.
We use polymorphism to allow objects of different classes to be treated as if they are of the same class, enabling code reuse and flexibility.
W...read more
Q17. Explain framework used in your project
The framework used in my project is a custom-built automation framework.
The framework is designed to support end-to-end testing of the application.
It follows a modular approach, allowing easy maintenance and scalability.
The framework supports various testing types such as functional, regression, and performance testing.
It integrates with popular testing tools like Selenium and JUnit.
The framework includes features like test data management, reporting, and logging.
It promotes ...read more
Reflection in C# is the ability to inspect and manipulate metadata of types at runtime.
Allows accessing type information at runtime
Enables examining and modifying properties, methods, and attributes of types dynamically
Useful for creating generic algorithms and frameworks
Example: Getting all properties of a class dynamically
Q19. 1. Types of facts and dimensions, ETL process, report validation,
The question covers topics related to data warehousing and reporting.
Facts are measurable data points, dimensions are descriptive attributes
ETL process involves extracting data from various sources, transforming it and loading it into a target system
Report validation involves verifying the accuracy and completeness of reports
Q20. How to manintain insertion order in set
Insertion order is maintained by using LinkedHashSet instead of HashSet
HashSet does not maintain insertion order
LinkedHashSet maintains insertion order
Use LinkedHashSet instead of HashSet to maintain insertion order
Q21. SQL query syntax for update and insert
SQL syntax for update and insert queries
UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3);
Q22. What are all other tools you worked on
I have worked on various testing tools such as Selenium, JMeter, SoapUI, TestNG, and Appium.
Proficient in Selenium for web application testing
Experience in load testing using JMeter
Familiarity with API testing using SoapUI
Expertise in TestNG for test case management
Knowledge of Appium for mobile application testing
Q23. How to reproduce a bug
To reproduce a bug, follow these steps:
Identify the steps that led to the bug
Record the exact inputs and conditions
Recreate the bug using the recorded steps and inputs
Document any error messages or unexpected behavior
Q24. Static keyword and static block in C#
Static keyword is used to define class-level variables and methods. Static block is used to initialize static variables.
Static keyword is used to define variables and methods that belong to the class rather than instances of the class.
Static variables are initialized only once, when the class is loaded into memory.
Static methods can be called without creating an instance of the class.
Static block is a block of code that is executed only once when the class is loaded into memo...read more
Q25. What is exception handling?
Exception handling is a mechanism to handle errors or exceptional situations in a program.
It allows the program to continue running even if an error occurs.
Exceptions can be caught and handled using try-catch blocks.
Common exceptions include NullPointerException, ArrayIndexOutOfBoundsException, and IOException.
Handling exceptions properly can improve the robustness and reliability of the software.
Q26. Differences between Put and Patch
Put is used to replace an entire resource while Patch is used to update a part of a resource.
Put replaces the entire resource with the new one while Patch updates only the specified fields.
Put requires the entire resource to be sent in the request while Patch only requires the fields to be updated.
Put is idempotent while Patch is not necessarily idempotent.
Put is used for creating a new resource while Patch is used for updating an existing resource.
Q27. How do you calculate pacing
Pacing is calculated by dividing the total time available by the number of questions or tasks to be completed.
Determine the total time available for the test
Count the number of questions or tasks to be completed
Divide the total time by the number of questions or tasks
This will give you the pacing time per question or task
Q28. How hashmap works
Hashmap is a data structure that stores key-value pairs and provides constant time complexity for insertion, deletion, and retrieval.
Hashmap uses a hash function to map keys to indices in an array.
Collisions can occur when two keys map to the same index, which can be resolved using separate chaining or open addressing.
Hashmap provides O(1) time complexity for insertion, deletion, and retrieval of values based on their keys.
Java provides a built-in implementation of hashmap in...read more
Q29. SQL query for 2nd maximum
SQL query to find the 2nd maximum value.
Use the ORDER BY clause to sort the values in descending order.
Use the LIMIT clause to limit the result to the second row.
Use a subquery to exclude the maximum value from the result set.
Q30. Types of testing?
Types of testing include functional testing, non-functional testing, manual testing, automated testing, regression testing, and performance testing.
Functional testing: Testing the functionality of the software against the requirements.
Non-functional testing: Testing aspects like performance, usability, and security.
Manual testing: Testing performed manually by testers.
Automated testing: Testing using automated tools and scripts.
Regression testing: Testing to ensure that new c...read more
More about working at CGI Group







Interview Process at CGI Group Senior Test Engineer

Top Senior Test Engineer Interview Questions from Similar Companies








Reviews
Interviews
Salaries
Users/Month

