Software Testing: A Comprehensive Guide to Concepts and Techniques
Q1) What is Configuration & Compatibility Testing Used in Web Testing?
Ans-> • The different configuration possibilities for a standard Windows-based PC:
- The PC – Compaq, Dell, Gateway, Hewlett Packard, IBM
- Components – system boards, component cards, disk drives, CD-ROM drives, video, sound, modem, & network cards
- Peripherals – printers, scanners, mice, keyboards, monitors, cameras, joysticks
- Interfaces – ISA, PCI, USB, PS/2, RS/232, & Firewire
- Options & memory – hardware options & memory sizes
Finding Configuration Bugs:
- Decide the types of hardware needed
- Decide what hardware brands, models, & device drivers are available
- Decide which hardware features, modes, & options are possible
- Identify the software’s unique features that work with the hardware configurations
- Design the test cases to run on each configuration
- Execute the tests on each configuration
2) Compatibility Testing
● Software compatibility testing means checking that your software interacts with & shares information correctly with other software. The tester needs to concentrate on:
- Platform & Application Versions (Backward & Forward Compatibility, The Impact of Testing Multiple Versions)
- Standards & Guidelines (High-Level Standards & Guidelines, Low-Level Standards & Guidelines
- Data Sharing Compatibility (File save & file load, File export & file import)
Q2) Describe Test, Test Case & Test Suite in Detail.
Ans->>● ‘Software requirements and specifications’ document used to define and specify user requirements. Some years ago, requirement writers used to write stories to explain the expected behaviour of the system and its interactions with the external world.
● The IEEE Std requires us to follow a systematic approach which may include the design of use cases, various forms for interaction with the user, data validations, reports, error handling and response to unexpected situations.
1) Test Cases
● Test cases are established from requirements documents and need to be run across the product development in order to find out whether or not the achieved results are the expected ones.
● Test cases are a set of test inputs, execution conditions, and expected results established for a special objective, such as to study a particular program path or to verify compliance with a particular requirement.
Q3) Describe Automated Test Data Generation
● Automation Testing is a software testing technique that performs using special automated testing software tools to execute a test case suite.
● The automation testing software can also enter test data into the System Under Test, compare expected and actual results and generate detailed test reports. Software Test Automation demands considerable investments of money and resources.
● Test Automation is the best way to increase the effectiveness, test coverage, and execution speed in software testing.
Automated Testing Process:
Following steps are followed in an Automation Process–
- Test Tool Selection
- Scope of Automation
- Planning, Design and Development
- Test Execution
- Maintenance
——Scope of Automation
The scope of automation is the area of your Application Under Test which will be automated. Following points help determine scope:
- The features that are important for the business
- Scenarios which have a large amount of data
- Common functionalities across applications
- Technical feasibility
- The extent to which business components are reused
- The complexity of test cases
- Ability to use the same test cases for cross-browser testing
Q4) What is Measure, Measurement & Need of Measurement?
MEASURE:
Pressman explained this clearly as: “A measure provides a result-oriented indication of the extent, amount, dimension, capacity or size of some attributes of a product or process”.
MEASUREMENT:
“Measurement is the act of determining a measure. The metric is a quantitative measure of the degree to which a product or process possesses a given attribute.”
● The software measurement process must be an objective, orderly method for quantifying, assessing, adjusting, and ultimately improving the development process.
● Data are collected based on known, or anticipated, development issues, concerns, and questions. They are then analysed with respect to the software development process.
—-Need of Measurement
- Collecting data on some features of software processes and products with the intention of getting a better idea what’s happening.
- Judging any of the characteristics of a software process or product.
- Enhancing the quality of software.
- Prediction.
- Tracking the project to make sure that everything is under control.
Q5) Explain Reuse & Reuse Based Engineering.
Ans->>
a) Application system reuse
• The whole of an application system may be reused either by incorporating it without change into other systems (COTS reuse) or by developing application families.
b) Component reuse
• Components of an application from sub-systems to single objects may be reused.
c) Object and function reuse
• Software components that implement a single well-defined object or function may be reused.
Advantages of Reuse:
a) Increased dependability
- Reused software, that has been tried and tested in working systems, should be more dependable than new software.
- The initial use of the software reveals any design and implementation faults. These are then fixed, thus reducing the number of failures when the software is reused.
b) Reduced process risk
● If software exists, there is less uncertainty in the costs of reusing that software than in the costs of development.
c) Effective use of specialists
●Instead of application specialists doing the same work on different projects, these specialists can develop reusable software that encapsulate their knowledge
Q6) Describe Software Testing & Software Defects.
Objectives of Software Testing:
- It ensures if the solutions meet the business requirements, thereby enhancing customer confidence.
- It catches the bugs, errors and defects.
- It ensures if the system is stable and ready for use.
- It identifies the areas of weakness in an application or product.
- It establishes the degree of quality.
- It determines user acceptability
- The scope of testing could examine components like business requirements, design requirements, programmer’s code, hardware configuration, and systems administration standards and constraints.
Who does Testing?
- Software Tester
- Software Developer
- Project Lead/Manager
- End User
❖ SOFTWARE DEFECTS
With respect to the software, there are three classifications of software defects or bugs as they are more commonly referred as:
- Software Error
- Software Fault
- Software Failure
Q7) What is Database Testing & Database Testing Types?
❖ DATABASE TESTING
● Database testing is known as data validation and integrity testing or backend testing. Database testing involves testing of back-end components, which are not visible to users. This includes database components and DBMS systems such as My SQL, Oracle.
Important issues in database testing may include:
- Data validation
- Data consistency
- Data integrity
- Concurrency control and recovery
- Data manipulation operations
- Database security
Administrative operations
- Inserting a new item into the database
- Deleting an existing item from the database
- Updating an existing item from the database
- Viewing an existing item from the database
User operations
- Searching items from the database
- Registering into the website involves storing the user’s personal details
- Placing an order involves storing user preferences and purchase details into the database
- Providing feedback involves storing information in the database
- Tracking status of the order placed
Q8) Define Risk & Explain Risk Analysis with Suitable Example & Diagram.
❖ WHAT IS RISK?
● Risk is an expectation of loss, a potential problem that may or may not occur in the future. It is generally caused due to lack of information, control or time.
● Loss can be anything, increase in production cost, development of poor-quality software, not being able to complete the project on time.
● Risk is defined as the “probability of occurrence of an undesirable event and the impact of occurrence of that event.”
Risk Analysis
● Unexpected behaviours of a software programme always carry huge information and most of the time they disturb every associate person. No one likes such unexpected behaviour from the software. In practice, the situation is entirely different and developers need to face such unexpected situations frequently and work hard to find the solutions of the problems highlighted by these unexpected behaviours.
● Risk analysis is a process of identifying the potential problems and then assigning a ‘Probability of occurrence of the problem’ value and ‘impact of that problem’ value for each identified problem.
●
Q9) Describe Software Project Audit & Software Audit Checklist
❖ SOFTWARE PROJECT AUDIT
● Audit means an independent examination of a software product or processes to assess compliance with specifications, standards, contractual agreements, or other criteria.
- A software Quality Assurance, where the software is audited for quality.
- A software licensing audit, where a user of software is audited for licence compliance
Software Audit Checklist
Having a software audit checklist of steps to perform before the audit can help the process flow more smoothly. This list should include the following:
1) Identify experts for audits:
– Picking candidates for a team to handle audits if and when they come up is a good idea to have ahead of time. These candidates can originate internally or externally and should be able to use their experience to create a smooth audit process.
2) Use a software asset management tool:
– A SAM tool budgets software, enabling an organization to more easily find and correct license shortages and detect older, unused licenses
Q10) What are the Verification Methods
❖ VERIFICATION METHODS
I) Static Test Design Techniques
These static test design techniques further divided into 2 groups.
- Reviews (Manual Examination)
- Static Analysis (Automated Analysis)
1) Types of Reviews (Manual Examination):
– A. Walk through
– B. Informal Review
– C. Technical Review
– D. Audit
– E. Inspection
– F. Management Review
A) Walk through:
● Walkthrough is a method of conducting informal group/individual review.
● This technique is used for to find the defects, bugs and different kind of ambiguities and problems in the documents.
B) Informal Review:
● An informal review aims to improve the quality of the tested product through discussions and is usually not documented.
C) Technical Review:
A technical review is conducted by a trained moderator or technical expert. It is less formal as compared to an inspection
D) Audit:
● An audit is an independent examination of all the documents related to the software, conducted by an external agent.
E) Inspection:
● An inspection is the formal type of review and is conducted by trained moderators.
