Continuing on our zest to help fellow testers – this article shares some more Software Testing Interview Question and Answer that might be of help if you are looking for a change 😉
Question-61. Any idea about Positive and Negative testing? Any examples?
Positive Testing: Simply put – The system is validated against valid input data. The intention is to check if the system behaves as expected for a valid input (& not showing an error). Positive Testing proves that the application-under-test meets the requirements and specifications.
E.g. Testing a text-box where requirement says it should only accept ‘Integers’. Positive testing would involve entering valid data, i.e. integers (keeping in mind the boundary values).
Negative Testing: Just the reverse – The system is validated against invalid data. The intention is to analyse the stability of application-under-test when invalid input data is entered. The application shouldn’t crash, rather in most cases should display a proper error message.
E.g. Testing a textbox where requirement says it should only accept ‘Integers’. Negative testing would involve entering invalid data, i.e. non-integers, decimals, floats, characters, alphabet, special characters, etc.
Question-62. What’s the difference between Retesting and Regression Testing?
Regression: It’s like checking for side-effects. The code is developed >> Build is deployed >> Sanity is performed >> Full testing is done >> Defects are logged, fixed & retested. What else? Yeah! Truth is stranger than fiction, and so is the Software. You never know a change in one function (defect fix or enhancement or change request) can impact multiple areas of the software. It’s our duty as a Test team to ensure everything (apart from the change) impacted is working as expected.
Retesting: What do you do in testing? Obviously find & log defects. After that? Yeah! Developer will fix the defect. As a Test team you need to verify that the defect fix is working fine, in other words you need to ‘retest’ the defect based on its steps to reproduce.
Question-63. What’s the difference between SDLC and STLC?
SDLC: Software Development Life Cycle, SDLC for short, is a well-defined, structured sequence of stages in software engineering to develop the intended software product. Phases involve: Requirement gathering and analysis >> Design >> Implementation & Coding >> Testing >> Deployment >> Maintenance.
STLC: How do you identify what’s wrong? Software Testing Life Cycle, popularly known as STLC is a well-defined process with different structured sequence of phases to test the intended software. Phases involve: Requirement Analysis >> Test Planning >> Test Design >> Test Environment setup >> Test execution >> Test Closure >> Post-implementation support.
In simple terms – Test Environment is nothing but a replica of actual production environment (being used by end-users) with close-enough hardware and software configurations, where the testing would happen for the developed application. Test environment is where all the action happens – experiments, defect identification, fixing, retesting, regression and final sign-off. Ideally Test environment configuration must mimic the production environment in order to uncover any environment/configuration related issues.
Once the testing is completed in this environment >> Test team will sign-off the application for actual production deployment.
How do you pay your utility bills? Or for any ecommerce purchase? Now-a-days most of us pay it via debit card, credit card or net-banking, right? But have you ever thought how it works? What is the Billdesk option? Yeah! It’s a payment gateway. Did you know that e-commerce website and payment gateway are two different systems altogether? Payment Gateway is a ‘service’ which can be reused by any e-commerce site. Whenever a payment needs to done, the e-commerce site calls/Requests the Payment Gateway service >> after payment is done a response is sent to the e-commerce website!
As the name suggests, Service-Oriented Architecture is an application architectural style where different modules / components are integrated via ‘services’ to meet the business needs. Services, the building blocks here, can be added, removed or modified according to the business function they perform.
These tools have emerged as a necessity from the fact that there are a lot of variations in device types, screen sizes and operating systems on the market.
- Device Fragmentation: one of the development team and QA team’s biggest concerns. Is the testing on real devices worth the expense? Simulator and Emulator in Mobile Testing is tailor made for this type of situation(s).
- Budget Constraints / Economy: How many different types of handset do you need to test? Which one should you pick? The costs involved in procuring and managing these devices are significant.
- Step-by-step Debugging: Due to their integration with the development environment, Simulator and Emulator provide the developer or tester with access to detailed debugging information.
- Time Saving: Since Simulator and Emulator in Mobile Testing are simple client software that runs locally on your PC, they have less latency than real devices connected to the local network or in the cloud.
- Parallel execution: As such, multiple emulators can be programmed to run, doing much of the same work as a device tester, but faster and at greater volume. It does not require the same amount of device hardware, either.
- Logistics: Aside from the cost of real devices, there is a logistical problem in storing them, and performing the tests on them.
- Automation Setup: If setting up automated testing, another issue is that each device may need configuration in order to connect with the platform.
- Security: If you are using devices connected locally to your workstation, you will need to make sure USB ports are open. In addition, mobile devices can easily be stolen, allowing unauthorized access to your internal network resources.
- Capture Screenshots: Capturing screenshots of UI or display issues can be easier from an Simulator and Emulator in Mobile Testing, as they are already on your desktop.
- Real-time refresh: Additionally, an Simulator and Emulator in Mobile Testing can extract data in real time and refresh reports as it runs, providing the development team with data they need in order to debug issues.
- Ease of availability: Simulator and Emulator in Mobile Testing are in most cases open source and free software which can be very easily downloaded from Internet and ready to be tested for.
- Simplicity: Just download the software, install on your PC and you’re ready to go.
While Simulator and Emulator in Mobile Testing are great tools for the tester’s and developer’s toolbox, Real device testing is an indispensable part of the app development process, and should never be ignored.
In laymen English – A warehouse is a store room for storage of goods. How does a retail chain works? All goods are stored in a warehouse and sold via different retail outlets, right? Now what do you think will be a Data warehouse? In terms of IT, just reverse the flow – each department gathers its own set of data individually (database) and then the data from these multiple heterogeneous sources is integrated to form a Data Warehouse!
Mostly, Data warehouse is used for analysis, reports and decision-making rather than for transaction processing (store & retrieve). It enables the company or organization to consolidate data from several sources and separates analysis workload from transaction workload. Why do you think it’s important? After all DATA (including historical data) is the most important part of any organization – it’s the backbone for any report and reports are the baseline on which all the vital management decisions are taken.
ETL stands for Extract, Transform, and Load – a process of how data is migrated from the source system(s) to a Data warehouse. The process of ETL allows a business to collect important data, change it to fit their goals and models, and then store it for use. In a world of digital enterprise, it is a critical part of running an effective and efficient business.
What to do if you want to make an online transfer? Yeah! We login to our Bank’s net-banking website and initiate the transaction. Hope you already know that the net-banking application that you use via web is ‘already tested’. Now where does this ‘testing’ happens? Or rather where does the ‘development’ happens? Say the Bank want to change the User Interface. Developers cannot start changing the interface straight-away for the application being used by millions of people, right? The current application needs to be running on the web, and development & testing need to happen on some other ‘environment’ before the changed-application is deployed for public use!
ETL or Data Warehouse testing is quite different from conventional testing, there are many challenges. Here is the list of few frequently encountered ETL Data Warehouse testing challenges:
- Huge volume & complexity of data including heterogeneous data sources
- Unavailability of inclusive test environment
- No permission & privileges to run jobs
- Frequent Business requirement changes
- Identification of Test data to verify all business rules
- Data-centric testing
- Minimal idea of the reports requirement (UI)
- Involves complex SQL concepts for data validation
- Non-availability of complete source-to-target mapping information