QA Interview Questions
What are the DELETE and TRUNCATE Commands?
- A DELETE command is used to remove rows from the table, and a WHERE clause can be used for a conditional set of parameters. Commit and Rollback can be performed after a delete statement. - The TRUNCATE command removes all rows from a table, but the table structure and its columns, constraints, indexes, and so on remain.
What is a Smoke Test Suite?
A smoke test suite combines a number of smoke tests into a small suite of tests so that when the application is ready to deliver to staging or pre-production, developers will know in a matter of minutes whether the latest version of their application is ready for further QA and review. Smoke tests are also used at times in emergencies or when teams want to release a hot patch for their production applications.
What is a Bug?
A software bug is an error, flaw or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.
What is the purpose of the Step Definition file in Cucumber?
A step definition file in Cucumber is used to segregate the feature files from the underlying code. Each step of the feature file can be mapped to a corresponding method on the Step Definition file. While feature files are written in an easily understandable language such as Gherkin, Step Definition files are written in programming languages such as Java, .NET, Ruby etc.
What is a test cycle?
A test cycle is a container for tests and test suites that spans multiple users and projects.
What is the extension of Android files?
.apk (Android application package)
What is the extension of iOS files?
.ipa (iOS App Store Package)
What is a test case?
A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.
Name some tools used for API Testing?
Postman, Katalon
How to Automate a Test Case (major steps)?
Prior to answering this question we have to answer which cases can be automated... 1. Tasks or Test Cases requiring multiple data sets can be automated; 2. Automate things which are difficult for humans, for example time sensitive actions requiring accurate timing to capture a state change or certain actions like loading a component with a hundred operations per second; 3. Certain tasks which require regular setup of environment, for example, are good candidates for automation; 4. Tasks involving complex calculations candidate for automation; 5. Regression/Smoke tests are also good candidates for automation.
Types of join : Right Join
Right Join return rows that are common between the tables and all rows of the right-hand side table. Simply, it returns all the rows from the right-hand side table even though there are no matches in the left-hand side table.
Why understanding the SDLC is important to software QA engineers?
SDLC includes the following stages: Requirement phase, Design phase, Coding (programming), Testing, Release (Production), Maintenance (Support). Testing is one of the most important components of the SDLC. Quality assurance is the planned and systematic set of activities that ensures that software processes and products conform to requirements, standards, and procedures.
What is Smoke Testing?
Smoke testing refers to the first test made after assembly or repairs to the system, to provide some assurance that the system under test will not catastrophically fail. Smoke test is light type testing; the objective is to figure out and to verify that all build works. When the application was released in a testing environment the QA team started a smoke test.
What is Software Quality Assurance?
Software quality is a perceptual and conditional thing. It may be understood differently. For consumers and some positions within the software company (upper management, sales, PR, marketing) it is about customer satisfaction. From a QA standpoint, it is about software being up to requirements. Software QA is the process of monitoring and improving all activities associated with software development, from the gathering of requirements, design, and reviews to coding, testing, and implementation.
What is Software Testing?
Software testing is a process of executing a program or application with the intent of finding software bugs. It can also be stated as the process of validating and verifying that a software program or application or product: meets the business and technical requirements that guided its design and development; works as expected; can be implemented with the same characteristic.
Name some of the most commonly used HTTP methods?
Some of the HTTP methods are • GET: It enables you to retrieve data from a server • POST: It enables you to add data to an existing file or resource in a server • PUT: It lets you replace an existing file or resource in a server • DELETE: It lets you delete data from a server • PATCH: It is used to apply partial modifications to a resource
What is an API?
API is an acronym for Application Programming Interface. An API is a set of routines, protocols, and tools for building Software Applications. APIs specify how one software program should interact with another software program. In simple terms, API acts as an interface between two software applications and allows the two software applications to communicate with each other. API is a collection of software functions that can be executed by another software program.
What is API Testing?
API testing is a type of software testing that involves testing APIs directly and also as part of integration testing, to check whether the API meets expectations in terms of functionality, reliability, performance and security of an application. In API Testing, our main focus will be on the business logic layer of the software architecture. API testing can be performed on any software system which contains multiple APIs.
How would you define AVD?
AVD stands for Android Virtual Device. It is an Android emulator to test applications on PCs.
What is the Agile Software Development Model?
Agile software development is a set of principles for software development in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. The Agile movement seeks alternatives to traditional project management. Agile approaches help teams respond to unpredictability through incremental, iterative work cadences, known as sprints. Agile methodologies are an alternative to waterfall or traditional sequential development.
What are Severity and Priority?
Bug Severity is the degree of impact that a defect has on the system. Bug Priority is the order of severity that has impacted the system. Severity is related to the standards and functionality of the system; priority is related to scheduling.
Why do we need to have 'Bug Triage'?
Bug triage is a process where each bug is prioritized based on its severity, frequency, risk, etc. Triage is used in software testing / QA to define the severity and priority of new defects. The goal of bug triage is to evaluate, prioritize and assign the resolution of defects. The team needs to validate the severity of the defect, make changes as per need, finalize resolution of the defects, and assign resources. Mainly used in agile project management.
What are the common tests that are performed on APIs?
Some of the common tests we perform on APIs are as follows. 1. Verify whether the return value is based on the input condition. The response of the APIs should be verified based on the request. 2. Verify whether the system is authenticating the outcome when the API is updating any data structure. 3. Verify whether the API triggers some other event or request another API. 4. Verify the behavior of the API when there is no return value.
Name some of the API examples which are quite popular.
Some of the more popular API examples are: • Google Maps API • YouTube • Twitter • Amazon Advertising API
What is a typical 'Sprint' duration?
Some people would say that the two weeks sprint has become the industry standard, but in reality, sprint duration could be completely different. It could vary from 1 to 4 weeks and highly depends on the company, team and the project and what will work best for them.
What is the difference between Software Testing and Software QA?
Testing is mainly an 'error detection' process focusing on improving the source code. Software QA is 'preventative'. It aims to ensure quality in the methods & processes at all the stages of SDLC. ("Quality Assurance" measures the quality of processes used to create a quality product).
What do you mean by the Application Package?
The application package simply means the target application which needs to be tested for finding various errors, performance parameters and other important information regarding an application.
What is an API collection?
The definition of Collections is confined to a grouping of requests.
What is Sanity Check Testing?
The difference between smoke and sanity, at least as I understand it, is that the smoke test is a quick test to see that after a build the application is good enough for testing. Then, you do a sanity test which tells you if a particular functional area is good enough that it actually makes sense to proceed with tests on this area.
What are the various keywords that are used in Cucumber for writing a scenario?
The keywords that are used for writing a scenario: Given, When, Then, And
On what metrics is the sanity test performed on mobile apps?
The sanity test on apps can be performed based on 5 metrics: 1. Performance on different devices. 2. Performance in various network environments. 3. Installation and update of apps. 4. If the app allows calls when running in the background. 5. Media compatibility.
What is a test plan?
The test plan is a document described for software testing scope and activities. It is the basis for formally testing any software/product in the project. It is a document describing scope, approach, resources, and schedule of intended test activities.
What is a Test Suite?
The test suite is a collection of test cases that are intended to be used to test a software program to show that it has a specified set of behaviors. A test suite often contains detailed instructions or goals for each collection of test cases and information on the system configuration to be used during testing. It can take any of the three states namely active, in progress and completed.
What is Confluence? What kind of data can you find in Confluence?
Confluence is a collaboration wiki tool used to help teams to collaborate and share knowledge efficiently. With confluence, we can capture project requirements, assign tasks to specific users, and manage several calendars at once with the help of Team Calendars add-on. You can also find in Confluence: - Private documentation about your project - Vocabulary glossary abbreviations - Environments and any other information about projects etc - How to install tools - Contact information of team members - PTO calendar
What Does Test Plan Include?
Introduction Test items Features to be tested Features not to be tested Test techniques Testing tasks Suspension criteria Features pass or fail criteria Test environment (Entry criteria, Exit criteria) Test deliverables Staff and training needs Responsibilities Schedule Approvals Risks and Contingencies
Who prepares a test plan?
It completely depends on the company you are working in. In some companies, the Test Manager prepares the test plan and in some companies, the Test Lead prepares the test plan. In some companies, the entire Test Team has a meeting in presence of the Test Lead and they decide together on the test plan.
How are mobile testing and mobile app testing different?
Mobile testing means checking the functionalities of a mobile device while mobile app testing means testing applications running over mobile devices.
How To Select A Regression Test Suite?
Most of the bugs found in the production environment occur because of the changes done or bugs fixed at the eleventh hour i.e. the changes done at a later stage. The bug fix at the last stage might create other issues/bugs in the Product. That's why Regression checking is very important before releasing a Product. Below is a list of test cases that can be used while performing this Test: - Functionalities that are frequently used. - Test cases that cover the module where the changes have been done. - Complex test cases. - Integration test cases which include all the major components. - Test cases for the core functionality or feature of the Product. - Priority 1 and Priority 2 test cases should be included. - Test cases that frequently fail or recent testing defects were found in the same.
What is the latest version of iOS?
iOS 16
What are the bugs you have found out while performing mobile application testing during your experience?
There are many things that can go wrong with a mobile application and all the bugs couldn't be categorized under the same headline. Some of the common ones are crashing the phone OS during the test of a feature on the phone. Not able to perform any task on the phone, GUI, bugs, a specific feature of an application is not operating (this is very common). In addition to this, the other ones are: Slow performance of an application; Totally unresponsive behavior of an app.
What is the most common problem with the emulators according to you?
They often fail to capture the important attributes of a device. Also, they suffer a lot from the compatibility issues if no open source technology is considered.
What according to you is the importance of Usability testing?
Usability testing is used to check if the app is user-friendly. It involves analyzing customer's behavior and experience on the application to identify bugs and discrepancies. The metrics considered for usability testing are the design of the app, response time and how intuitive it is.
What is WAP?
WAP stands for Wireless Application Protocol. Used in network apps, this communication protocol enables data access through wireless networks. It facilitates easy connectivity between mobiles and the internet and enhances wireless interoperability.
What are the common challenges in mobile application testing?
Working on different operating systems, a variety of handsets, different networks, a variety of screen sizes.
Did you use emulators?
Yes, I used browserstack.
What is the best way to test different screen sizes of the devices?
You can use an emulator.
Why is software quality not perfect?
You can't find all bugs in software. Not all bugs which are found will be fixed. To make perfect software takes a long time but, in reality, we do not have enough time to fix all the bugs.
What are all major networks to be considered while performing application testing?
You should test the application on 4G, 3G, 2G, and WIFI. 2G is a slower network, it's good if you verify your application on a slower network also to track your application performance.
What is a Query?
A query is your request to the database to retrieve information. What is a subquery? A subquery is a query within another query. The outer query is called the main query, and the inner query is called the subquery. The subquery is always executed first, and the results of the subquery is passed on to the main query.
How would you define a good test case? And a bad test case? Can you give us examples?
- Bad test case: There can be two main bad test case scenarios. The first one would be very undescriptive, e.g. install, launch and login. In this case you don't really know what to expect exactly from the test. The other bad test case would be a test case that tries to test many different functionalities at the same time. The result would be that you don't concentrate on just one aspect of the app at a time and you might be missing other important functionality. - Good test case: Here is an example of a good test case: install and launch the application. Try to login with user [email protected] with password "abcd", wait 5 seconds for the app to respond and show you the app interface after the login.
The Scrum Master's Responsibilities
- Facilitating (not participating in) the daily standup. - Helping the team maintain their burndown chart. - Setting up retrospectives, sprint reviews or sprint planning sessions. - Shielding the team from interruptions during the sprint. - Removing obstacles that affect the team. - Walking the product owner through more technical user stories. - Encouraging collaboration between the Scrum team and product owner.
The Product Owner's Responsibilities
- One person responsible for collecting all the information from the stakeholders and presents it in one prioritize list for the team. - It is the one who can accept or reject the work. - PO is responsible for maximizing the value of the product and work of the development team. - It is a sole person responsible for managing product backlog.
What Do We Do In A Regression Check?
- Re-run the previously conducted tests - Compare the current results with previously executed test results
QA's Responsibilities
- Should attend a sprint-planning session. This ensures QA is in sync with the development team from the start and allows QA to identify possible problem areas and risks early on. - Should attend daily stands up. This promotes a collaborative team environment, making QA feel involved and part of the team. - Should do testing throughout the entire duration of the sprint, the workload for QA should be spread out and this allows for issues to be found earlier instead of only at the end. - Schedule a quick face to face handoff demonstration for each feature with the developer. This allows QA to see exactly how the new feature works and is a good time for them to ask the developer any questions. - Should attend sprint retrospectives. Sprint retrospectives are the opportunity to define weaknesses and determine solutions for them.
What is a Primary Key?
- The Primary Key is a unique identifier of every record in the database table. A Primary Key is a column in a database where each row has a unique value. Each table has only one primary key. No NULL values are allowed. - A Unique Key is a column or group of columns that together hold unique values. A table can have more than one unique key. For example, in a list of American citizens, the column with social security numbers (SSN) would be a Primary Key whereas the first and last name columns combined with phone number would be a Unique Key.
When to use the Agile model?
- When new changes are needed to be implemented. The freedom agile gives to change is very important. New changes can be implemented at very little cost because of the frequency of new increments that are produced. - To implement a new feature, the developers need to lose only the work of a few days, or even only hours, to roll back and implement it. - Unlike the waterfall model, in the agile model, very limited planning is required to get started with the project. Agile assumes that the end users' needs are ever changing in a dynamic business and IT world. Changes can be discussed and features can be newly effected or removed based on feedback. This effectively gives the customer the finished system they want or need. - Both system developers and stakeholders alike find they also get more freedom of time and options than if the software was developed in a more rigid sequential way. Having options gives them the ability to leave important decisions until more or better data or even entire hosting programs are available; meaning the project can continue to move forward without fear of reaching a sudden standstill.
Typical Agile Team consists of:
1 product owner 1 scrum master (project manager) 5 developers 2 QA
How do you write test cases?
1. Freestyle 2. Gherkin style.
Bug report components are?
1. Short summary (Bug Title); 2. Environment; 3. Steps to reproduce; 4. Expected and actual results; 5. Attachments if applicable (screenshots, log files)
What is Foreign Key (SQL)?
A Foreign Key is a column (or combination of columns) that is used to establish a relationship, linking the table rows to another table's Primary Key (a.k.a. Referential Integrity). A Foreign Key enforces the relationship between two tables via the Primary Key of the parent table and the Foreign Key of the development child table. A Foreign Key is usually not unique (one-to-many relation) and always points to a Primary Key.
What is a SQL Join?
A SQL Join is an instruction to combine data from two sets of data (i.e. two tables). Before we dive into the details of a SQL Join, let's briefly discuss why someone would want to perform a SQL Join.
What is CLAUSE?
A SQL clause is defined to limit the result set by providing the condition to the query. This usually filters some rows from the whole set of records. Example - Query that has WHERE condition Query that has HAVING condition.
What is a Stored Procedure?
A Stored Procedure is a function that consists of many SQL statements to access the database system. Several SQL statements are consolidated into a Stored Procedure and can then be executed whenever and wherever required.
What are Tables and Fields?
A Table is a set of data that is organized in a model with Columns and Rows. Columns can be categorized as vertical, and Rows are horizontal. A Table has a specified number of Columns called Fields but can have any number of Rows that are called a record. Example: Table: Employee. Field: Emp ID, Emp Name, Date of Birth. Data: 201456, David, 11/15/1960.
What is a Checklist?
A checklist is a catalog of items/tasks that are recorded for tracking. This list could either be ordered in a sequence or haphazard (우연한). It is often referred to as a simplified version of a test case. In some companies, this format is used instead of test cases to decrease writing maintenance time. - acceptance criteria?
What is a Constraint?
A constraint can be used to specify the limit on the data type of table. A constraint can be specified while creating or altering the table statement. Sample of constraints are: - NOT NULL - CHECK - DEFAULT - UNIQUE - PRIMARY KEY - FOREIGN KEY
What is meant by a feature file?
A feature file must provide a high-level description of an Application Under Test (AUT). The first line of the feature file must start with the keyword 'Feature' following the description of the application under test. A feature file may include multiple scenarios within the same file. A feature file has the extension feature.
Which suspend events on mobile devices do you know?
All mobile devices have a lot of different suspend events. Here are some of them:Incoming call, Incoming message, Alarm, Low battery signal, Auto-Sleep mode.
What is the Environment in Postman?
An environment in Postman is a set of key-value pairs. An environment helps us to differentiate between the requests. When we create an environment inside Postman, we can change the value of the key value pairs and the changes are reflected in our requests. An environment just provides boundaries to variables.
What is the latest version of Android?
Android 13
What is Automation Testing?
Automation Testing is a technique using an automation tool to write and execute tester's test scripts and cases. The main goal of Automation Testing is to reduce the number of test cases to be run manually and not eliminate Manual Testing altogether.
When will you Automate a Test?
Automation in preferred in following cases • Repetitive Tasks; • Smoke and Sanity Tests; • Test with multiple data set; • Regression test cases.
What kind of searching is in Jira?
Basic and Advanced Search.
What exactly needs to be verified in API Testing?
Basically, with API Testing, we send a request to the API with the known data and we analyse the response. 1. Data accuracy; 2. HTTP status codes; 3. Response time; 4. Error codes in case API returns any errors; 5. Authorization checks; 6. Non-functional testing such as performance testing and security testing.
How to create test cycle in Zephyr?
Click on Plan Test Cycle, add and execute tests as part of those cycles.
What is SDLC (Software Development Life Cycle)?
Conceptual model used in project management that describes the stages involved in an information system development project, from an initial feasibility (실행할 수 있음) study through maintenance of the completed application.
Explain Cucumber shortly.
Cucumber is a tool that is based on Behavior Driven Development (BDD) methodology. The main aim of the Behavior Driven Development framework is to make various project roles such as Business Analysts, Quality Assurance, Developers, etc., understand the application without diving deep into the technical aspects.
What programming language is used by Cucumber?
Cucumber tool provides support for multiple programming languages such as Java, .NET, Ruby etc. It can also be integrated with multiple tools such as Selenium, Capybara etc.
What is the DBMS?
DBMS (Database Management System) is software that controls the organization, storage, retrieval, security and integrity of data in a database.
What is an Automation Framework?
Framework approach in automation. A test automation framework is an integrated system that sets the rules of automation of a specific product. This system integrates the function libraries, test data sources, object details and various reusable modules.
Types of join : Full Join
Full Join return rows when there are matching rows in any one of the tables. This means that it returns all the rows from the left-hand side table and all the rows from the right-hand side table.
What is Gherkin?
Gherkin is a language, which is used to write Features, Scenarios, and Steps. The purpose of Gherkin is to help us write concrete requirements. Keywords: - GIVEN - WHEN - THEN - AND
What language is used by Cucumber?
Gherkin is the language that is used by the Cucumber tool. It is a simple English representation of the application behavior. Gherkin language uses several keywords to describe the behavior of applications such as Feature, Scenario, Scenario Outline, Given, When, Then, etc.
What would you do if your app works well on some devices and crashes on others?
I would conduct compatibility tests to analyze the application's performance on multiple devices with different network environments. This will help in the identification of the devices on which the app crashes. I would try uninstalling and installing the app and if it still does not function properly, I would highlight the issue to the developer and suggest fixes.
How will you communicate app crashes to the developer?
I would start by identifying the scenario in which the app crashes. Then I would use a defect tracking tool to report app crashing and attach screenshots with the error message. I would also suggest steps to reproduce to bring app crashes in control.
Main differences between Waterfall and Agile
In Agile things have to be done in parallel since new features come every week and there is not enough time and resources to do things stage by stage. It provides flexibility, which makes it more bug free and more inclined towards better client satisfaction. Where the waterfall model has no flexibility: it does not allow any modifications once the module is completed, in case of changes we'd have to build the entire project from scratch, and testing can be done only at the end of the development module.
Describe your current project?
In my company, I'm currently working on the testing of a personal audio streaming service. It's a responsive web application.
Which test management tools did you use before? Do you like it? And why?
In my current project we are using Zephyr. It's a great tool. Zephyr uses structured and freeform test execution cycles, and is easy to use.
What are the most important mobile application test cases according to you?
In my opinion, the most important mobile app test cases are: • Usability test case. • Battery usage test case. • app functioning test case. • Touchscreen test case. • Security test case.
What does 'Sprint' in Agile development stand for?
In product development, a sprint is a set period of time during which specific work has to be completed and made ready for review.
Types of join : Inner Join
Inner Join return rows when there is at least one match of rows between the tables.
What is adhoc testing?
It is a method of software testing without any planning and documentation. The tests are conducted informally and randomly without any formal procedure or expected results.
How many test cases do you have in the Regression suite?
It is around 450 but some of them are mobile only or desktop only or both, so it depends on the platform and we don't always execute all of them
What is JQL?
JQL stands for Jira Query Language and is the most powerful and flexible way to search for your issues in Jira. JQL is for everyone: developers, testers, agile project managers and business users.
Types of join : Left Join
Left Join return rows that are common between the tables and all rows of the left-hand side table. Simply, it returns all the rows from the left-hand side table even though there are no matches in the right-hand side table.
SQL Join Example
Let's say we want to find all orders placed by a particular customer. We can do this by joining the customers and orders tables together using the relationship established by the customer_id key.
When will you NOT use Automate Testing?
One should not automate in following cases. • When the Application Under Test changes frequently; • One time test cases; • Ad Hoc - Random testing.
What are the tools based on cloud-based mobile testing?
Perfecto Mobile, AWS Device Farm, BrowserStack, SauceLabs.
What is Rest API?
REST stands for Representational State Transfer. It is a set of functions helping developers in performing requests and receiving responses. Interaction is made through the HTTP Protocol in REST API.
What is Regression Testing?
Regression Testing is a type of testing that is done to verify that a code change in the software does not impact the existing functionality of the product. This is to make sure the product works fine with new functionality, bug fixes or any changes to the existing features. Previously executed test cases are re-executed in order to verify the impact of changes. Regression Testing is a type of Software Testing in which test cases are re-executed in order to check whether the previous functionality of the application is working fine and the new changes have not introduced any new bugs. This test can be performed on a new build when there is a significant change in the original functionality that too even in a single bug fix. Regression means retesting the unchanged parts of the application.
When To Perform Regression Testing?
Regression Testing is usually performed after the verification of changes or new functionality. But this is not always the case. For a release that takes months to complete, regression tests must be incorporated into the daily test cycle. For weekly releases, regression tests can be performed when the Functional Testing of the changes is over. Regression checking is a variation of retest (which is simply to repeat a test). When Retesting, the reason can be anything. Say, you were testing a particular feature and it was the end of the day — you could not finish testing and had to stop the process without deciding if the test passed/failed. The next day when you come back, you perform the test once more, which means you are repeating a test you performed before. The simple act of repeating a test is a Retest.
What is Selenium?
SELENIUM is a free (open-source) automated testing framework used to validate web applications across different browsers and platforms. Selenium provides a record/playback tool for authoring tests without learning a test scripting language. It also provides a test domain-specific language (Selenese) to write tests in a number of popular programming languages, including Java, C#, Groovy, Perl, PHP, Python and Ruby. Scripts may be automatically recorded and edited manually providing autocompletion support and the ability to move commands around quickly. Scripts are recorded in Selenese, a special test scripting language for Selenium. Selenese provides commands for performing actions in a browser (click a link, select an option), and for retrieving data from the resulting pages.
What is SQL?
SQL stands for Structured Query Language. It is a database computer language, designed to retrieve and manage data, create and modify DB schema, etc.
What is Selenium IDE?
Selenium IDE (Integrated Development Environment) is a prototyping tool for building test scripts. It is a Firefox plugin and provides an easy-to-use interface for developing automated tests. It is implemented as a Firefox Add-On. Selenium IDE has a recording feature, which records user actions as they are performed and then exports them as a reusable script in one of many programming languages that can be later executed.
Selenium WebDriver
Selenium WebDriver is the successor to Selenium RC. Selenium WebDriver accepts commands (sent in Selenese, or via a Client API) and sends them to a browser. This is implemented through a browser-specific browser driver, which sends commands to a browser, and retrieves results. Most browser drivers actually launch and access a browser application (such as Firefox or Internet Explorer). Selenium WebDriver does not need a special server to execute tests. Instead, the WebDriver directly starts a browser instance and controls it. However, Selenium Grid can be used with WebDriver to execute tests on remote systems. Where possible, WebDriver uses native operating system level functionality rather than browser-based JavaScript commands to drive the browser. This bypasses problems with subtle differences between native and JavaScript commands, including security restrictions.
What is the API test environment?
Setting up an API test environment is a complex method where the configuration of the server and database is done as per the requirements of the software application. Graphical User Interface (GUI) is not available in this form of testing. After installation, the API is verified for its proper functioning. In this process, the initial environment that invokes API is being set up with a defined set of parameters so that test results can be examined.
What is a Database?
Systematically organized or structured repository of indexed information (usually as a group of linked data files) that allows easy retrieval, updating, analysis, and output of data. Stored usually in a computer, this data could be in the form of graphics, reports, scripts, tables, text, etc., representing almost every kind of information. Most computer applications (including antivirus software, spreadsheets, word-processors) are databases at their core.
How much Regression Is required?
This depends upon the scope of newly added features. If the scope of a fix or feature is too broad, then the application area which is affected is also quite large and the testing should be performed thoroughly including all the application test cases. As these are repetitive tests, test cases can be automated so that a set of test cases alone can be easily executed on a new build. Regression test cases need to be selected very carefully so that maximum functionality is covered in a minimum set of test cases. These sets of test cases need continuous improvements for newly added functionality. It becomes very difficult when the application scope is very big and there are continuous increments or patches to the system. In such cases, selective tests need to be executed in order to save testing cost and time. These selective test cases are picked based on the enhancements done to the system and the parts it can affect the most.
Can you name 2 apps for Android and iOS each to record crash logs?
To record crash logs, you can use Android Studio and Eclipse for Android devices and iOS LogInfo and Xcode iOS devices.
Give an example of common mobile bugs and how you prioritizing it?
We, testers work to find four types of common bugs; critical, block, minor, and major. For example there, a phone system crash when testing a particular feature of the device will be classified as a critical bug. The GUI bugs will be categorized as minor bugs, and functional disability of a particular feature will be submitted to a major bug list. Certain performance unavailability through the device is ON will fall into the block bug list. There are many things that can go wrong with a mobile application and all the bugs couldn't be categorized under the same headline. Some of the common ones are crashing the phone OS during the test of a feature on the phone. Not able to perform any task on the phone, GUI, bugs, a specific feature of an application is not operating (this is very common). In addition to this, the other ones are: Slow performance of an application; Totally unresponsive behavior of an app.
What are the types of mobile applications?
• Native apps are created for one specific platform or operating system. • Web apps are responsive versions of websites that can work on any mobile device or OS because they're delivered using a mobile browser. • Hybrid apps are combinations of both native and web apps, but wrapped within a native app, giving it the ability to have its own icon or be downloaded from an app store.
Describe your Automation Framework?
• Programming Language: JavaScript • Test Framework: WebdriverIO for Node.js • Webdriver: Selenium • Behavior-Driven Development Tool: Cucumber • Assertion Library: Chai • Dependency Management: Yarn • Browser: Chrome • Cloud Service: SauceLabs • CI tool: Jenkins • IDE: Microsoft Visual Studio Code
What are the most important components of test cases?
• Test case ID (assigned automatically by TC management system) • The purpose (Title, Description) of the test case • Instruction on how to get from the application base state to a verifiable application output or expected result • Expected result Execution properties: • Actual Result • Pass/Fail indicator