1. Difference Between HTTP and HTTPS
URL for the HTTP begins with http:// and that for HTTPS with https://
HTTP used port 80 for communication. HTTPS uses port 443.
HTTPS requires an SSL digital certificate which is not required in case of HTTP.
As discussed earlier, HTTP is unsecured whereas HTTPS is secured.
HTTPS uses encryption which is not used in HTTP.
HTTPS operates at the transport layer of the OSI model. HTTP operates at the application layer.
=================================================================================================================
2. Difference Between GET and POST
GET request is sent via the URL string (appended to the URI with a question-mark as separator), which is visible.
POST request is encapsulated in the body of the HTTP request and can’t be seen.
POST request is encapsulated in the body of the HTTP request and can’t be seen.
GET request goes via URL, so it has a limitation for its length.
POST Request have no limitations on length.
GET request is comparatively faster than POST request.
GET request is sent via URL string and as we all know that URL can be text-only, so GET can carry only text data.
POST request has no such restriction and it can carry both text as well as binary data.
POST request has no such restriction and it can carry both text as well as binary data.
GET request is nothing but an URL hence it can be cached as well as Bookmarked.
POST request don’t have such facilities.
POST request don’t have such facilities.
GET is the default method of the HTML FORM element.
For POST method, we need to specify the method attribute and give it the value “POST”.
GET requests are restricted to use ASCII characters.
POSTrequests can use the ‘enctype’ attribute with a value “multipart/form-data” to use the Universal Multiple-Octet Coded Character Set(UCS).
POSTrequests can use the ‘enctype’ attribute with a value “multipart/form-data” to use the Universal Multiple-Octet Coded Character Set(UCS).
=================================================================================================================
3. Difference Between Usability Testing and GUI Testing.
Graphical User Interface testing is done to check the appearance of the application.
Usability Testing is done to check easiness of the application.
GUI Testing is done to test look and feel of the application.
Usability Testing is done to test user friendliness of the application
GUI Testing includes colors, fonts, font sizes, buttons, links, icons, are displayed as specified or not.
Usability Testing includes if application displayed all mandatory fields, cursor positioning for enter the data into the right field, tab button should work easily etc.
GUI Testing– In this testing we test only the front end of the application.
Usability Testing – In this Testing we test the overall working of application according to a non-technical user’s point of view.
=================================================================================================================
4.Difference between Ad-hoc Testing and Exploratory Testing.
Adhoc Testing begins with learning application first and then start working on testing process
Exploratory testing means test application while learning.
Adhoc Testing– Tester knows application in advance
Exploratory Testing – Tester dont know the functionality of the application at first.
Adhoc Testing – Documentation is not mandatory.
Exploratory Testing – Documentation is mandatory.
Adhoc Testing – Expert tester is not needed for this type of testing
Exploratory Testing – Expert Tester is needed for such type of testing
Adhoc generally is informal testing type with an aim to break the system. This testing is usually an unplanned activity.
Exploratory is testing approach that involves simultaneous learning, test design, and test execution.
Adhoc Testing Example– While Testing WhatsApp user can start with any module with intention to break application.Tester can start any random module.
Exploratory Testing Example – While Testing WhatsApp, first scope has to be defined(Test Attach Document functionality), so now tester has defined area
of testing and can explore this area and user his creativity to find issues
=================================================================================================================
5. Explain Version, Revision and Releases.
Version: An initial release or re-release of a configuration item associated with a complete compilation or recompilation of the item.
Different versions have different functionalityRevision: Change to a version that corrects only errors in the design/code, but does not affect the documented functionality.
Release: The formal distribution of an approved version.
=================================================================================================================
6.When you start testing the application?
Criteria to start testing may include following points:
Definition of all test scenario and test cases is completed
Functional and Business requirement should be cleared, confirmed and approved.
Test Environment is ready(Availability of hardware and software for initiating testing is ensured)
The bug tracking system is in place and accessible.
Test Data is available.
Unit Testing is done successfully by developers.
Tester is having significant knowledge of application under test
=================================================================================================================
7.How would you test software application without any formal documents like Requirement Document?
1) Have a meeting with Project Stakeholders who were part of project initiation(Business Analyst, Project Manager).
They can elaborate on functionalities present,Expected Results and Business rules that drives application
2) Have a session with developers as they are part while developing software and have considered some requirements.They
knows major functionality of software and can elaborate more.
3) Do some exploratory testing and learn application functionalities wise. Exploratory testing is good way to learn application
from tester point of view and usually self learning adds boost or confidence.Most of the small scale companies don’t have documentation. In this testing tester have to reply on his previous experience in testing similar kind to application
=================================================================================================================
8.What is Quality Gates ? Why it should be used?
Quality Gate is activity which is present between stages of a project life cycle.
This activity must be completed before moving to next phase of project life cycle.
Its a general criteria that must be satisfied before moving to next stage in project life cycle.
e.g. Software Requirement Specification(SRS) may have
Peer Review
A Requirement Traceability Matrix (From BRS to SRS)
Signed Off by Client, Project Manager.After completing above Quality Gate, then only project moves to next stage i.e. High Level Design Phase in Software Development Life cycleWhy to use it:
As per definition, it can be used to improve visibility of quality in SDLC Stages.
It is used to reduce project risk through phase by phase quality gates.
(You can compare Quality Gates with Entry and Exit Criteria used in Testing Phase. Both are on same lines.)
=================================================================================================================
9.If there are two defects in Application : One is with High Severity and
Other with High Priority. Which one must be fixed first.
– Severity is related to testing/QA Term and its an impact of a defect on Application.
While Priority is related to Business Term and its a impact of a defect on Overall Business or End Users.
So defect with High Priority have to be fixed first as it affect end users or business.
=================================================================================================================
10.How do you define software product quality?
Software Product Quality can be defined in terms of following quality attributes
a)Reliability:
Software product should be reliable in terms of Availability, Fault tolerance and consistent.
Consistent means it should give correct results any-time and under any conditions.b) b)Maintainability:
Maintainability is the ability of the system to undergo changes with a degree of ease.
These changes could impact components, services, features, and interfaces when adding
or changing the functionality, fixing errors, and meeting new business requirements.c)Re-usability:
Reusability defines the capability for components and subsystems to be suitable for
use in other applications and in other scenarios.
Reusability minimizes the duplication of components and also the implementation time.d)Usability:
Usability defines how well the application meets the requirements of the user and consumer.
It defined how application is easy to use.
e)Testability:
Testability is a measure of how easy it is to create test criteria for the system and its
components, and to execute these tests in order to determine if the criteria are met.
f)Security:
Security is the capability of a system to prevent malicious or accidental actions outside of the designed usage,
and to prevent disclosure or loss of information.
A secure system aims to protect assets and prevent unauthorized modification of information.
g)Scalability:
Scalability is ability of a system to either handle increases in load without impact on the performance
of the system, or the ability to be readily enlarged.
h) Performance:
Performance is an indication of the responsiveness of a system to execute any action within a given time interval.
It can be measured in terms of latency or throughput. Latency is the time taken to respond to any event.
Throughput is the number of events that take place within a given amount of time.
i)Interoperability:
Interoperability is the ability of a system or different systems to operate successfully by communicating and exchanging
information with other external systems written and run by external parties.
An interoperable system makes it easier to exchange and reuse information internally as well as externally.
=================================================================================================================
11. If you have ‘n’ requirements and you have less time how do you prioritize the requirements?
In such a scenario, the most critical requirements need to be finalized with discussion from the client and stakeholders.
In testing, requirements aren’t really ‘finalized’ by the testing team.
=================================================================================================================
12.How do you find the regression scenarios if a defect is fixed?
Regression scenarios would be run on all the test cases that failed during manual testing because of the bug in software. Checking history of the bug may help identifying the regression scenarios. Also we have to decide by observing bug and what could be affected functionalities due to such bug.
=================================================================================================================
13.Let’s say you have a test-plan with over 200 testcases. How do you decide what should be automated and what should still be done manually?
In such case we need to consider two points
a) Priorities of Test Cases
b) Feasibility of automation for Test Cases listed
Some of the questions that the candidate should raise to evaluate:Now using following criteria we have to divide test cases in Automation and Manual way
a) Test cases taking lot of time to execute manually and are tedious in nature.
b) Parts of the application which needs regular regression(We can check defect history to get most error prone areas)
c) Test cases that can be done manually and easily.
d) The test cases that are not easy for manual testing.
(If Selenium tool is being used and test case is more involved with Windows controls i.e. non browser)
e) Areas of software application that could be changed in next weeks.This will prevent us from developing automated test cases for the same
=================================================================================================================
14.What to do when we are out of time, application is not bug free and tomorrow its going for production?
Step1)Make a list of all open defects and share across all key stakeholders like Requirement Owner (PO, Business Analyst), Dev Lead, Dev Manager, Test Lead, Test Manager, Delivery Manager (stakeholders may vary.. depends on your project)Step2)Schedule a defect triage meeting to prioritize all defects in following categories –
Category A: Issues which must be fixed. Software cant be released without that.
Category B: high-priority Issues that should be included in the solution if it is possible
Category C: Issues which is considered desirable but not necessary
Category D: Defects which will not be fixed (issues which does not generate any value addition to the software)
Step 3) All stakeholders should decide go/no go based on the following:
– Can we accommodate Category A issues within deadlines?
If Yes – Can we accommodate category B issues within deadlines? If No – Can we accommodate category B issues post the release?
If No – Which all issues from category A can be accommodated? Can release date be postponed? If Yes, are there any contractual obligations from customer?
Note – “accommodate” means – Issues should be fixed, code reviewed, tested with impact areas.
Remember that last minutes major fixes are usually dangerous. So take wise decision. This decision has to be taken by key stakeholders (not just test team). Make sure that team team give their inputs on impact and testing efforts based on the experience.
Also remember that – Testing team has “some” control on quality. Entire team (dev / test / pms etc) are responsible for the quality.
=================================================================================================================
15. What is defect measurement?
Defect Measurement is a process for analyzing the efficiency of developer and tester and the process on the base of the bug details collected from one
project.
Through Defect Measurement below are all the factors are measured
a) Efficiency of developer
b) Efficiency of tester
c) Whether the progress is in gear?
=================================================================================================================
16. Why not use exhaustive testing? how to prioritize test cases?
Exhaustive testing is a test approach in which all possible data combinations are used for testing.
It takes lot of times that’s why we need to use some testing techniques.
In other way we can priorities test cases so that testing efforts can be reduced and tester/QA can focus on more
important functionalities. We can priorities test cases according to perceived risks and customer expectations towards feature
and tester can reduce number of test cases.
Below are some factors to consider in prioritizing test cases:
– Functionalities used mostly by end users
– Functional Areas with history of bugs.(Examining defect history)
– Most visible functionalities to end users
– Newly added functionalities
17.How load testing is performed on a website? How does it work?
To access a website, a user sends a “request” to that website’s server, and the server sends back
a response in the form of the website/page you want to access.
To load test a website, QA engineers and Automation Engineers just need to multiply the number
of request sent to server to simulate different traffic loads.
The web server’s response for number of virtual users can then be measured by using performance tool.
This is used to determine performance issues and server capacity.
=================================================================================================================
18. What are different types of environments used in software releases?
Generally companies have four environments. Dev, QA/Testing,Staging and Production
a) Dev Environment: Its generally used by developers to commit the working copy of the code. It contains most recent version of the application.
Many developers merge their code to this environment.b) QA Environment: This environment is solely used by Testers/QA to test application.
c) Staging Environment: This environment is copy or mirror of production environment. It looks same as production environment as it may contain
very recent data from productions. We can call this as release candidate.The staging area contains the “next” version of the application
and tester tests application for the final release. Tester may find issues here as data is same as of production environment.
d) Production Environment: It is nothing but live site.
=================================================================================================================
19.What is meant by a test log ?
Test log creates an environment which consists of an integrated management environment where you can create and manage your entire test plan, other than your test cases.
-It helps in managing the development life cycle.
-It also helps in promoting the reusability of the test cases.
-It helps in improving the efficiency.
-It also helps in managing xml database.
-It helps in documenting both automated and manual tet cases.
=================================================================================================================
20.What is difference latent defects and masked defects?
Latent Defects: These are the defects which are present in the system. These defects remain for a long time and can also be detected in different versions of the software. It may be detected after the release. The main reason for this defect is because the exact set of conditions haven’t met.
For Example: February has 28 days. The system will not recognize the leap year and shows an error for leap year. This defect remains in the system and will be recognize in latent defect.
Masked Defects: The main functionality of these defect is that they will hide the other defects in the system. These defects can be observed in page navigation.
If there is a defect in the current page and it causes problem in moving to another page, then the defects in the next page can’t be seen.
Software testing training in Jaipur www.qaguides.com
ReplyDeleteSelenium training in jaipur www.qaguides.com
software testing course in jaipur www.qaguides.com
software testing training institute in jaipur www.qaguides.com
selenium training in jaipur www.qaguides.com
DevOps training in Jaipur www.qaguides.com
Devops classes in Jaipur www.qaguides.com
Python training in Jaipur www.qaguides.com
python coaching in jaipur www.qaguides.com
python course in jaipur www.qaguides.com
python classes in jaipur www.qaguides.com
best python training in jaipur www.qaguides.com
python institute in jaipur www.qaguides.com
best python coaching in jaipur www.qaguides.com
best java training institute in jaipur www.qaguides.com
java training institute in jaipur www,qaguides.com
java classes in jaipur www.qaguides.com
Java training in Jaipur www.qaguides.com
Summer Internship Training Jaipur www.qaguides.com
Summer Training In Jaipur www.qaguides.com
MCA Internship in Jaipur www.qaguides.com
Internship in Jaipur www.qaguides.com
Jmeter Training in jaipur www.qaguides.com
Salesforce Training in jaipur www.qaguides.com
Salesforce classes in jaipur www.qaguides.com
Appium Training in jaipur www.qaguides.com
Appium classes in jaipur www.qaguides.com
Digital Marketing training in Jaipur www.qaguides.com
Digital Marketing classes in Jaipur www.qaguides.com