Testing and Quality Assurance
Testing and Quality Assurance
System testing and quality assurance come to aid for checking the system. It includes −
Testing
Testing is the process or activity that checks the functionality and correctness of software according to specified user requirements in order to
improve the quality and reliability of system. It is an expensive, time consuming, and critical approach in system development which requires
proper planning of overall testing process.
A successful test is one that finds the errors. It executes the program with explicit intention of finding error, i.e., making the program fail. It is
a process of evaluating system with an intention of creating a strong system and mainly focuses on the weak areas of the system or software.
System testing begins at the module level and proceeds towards the integration of the entire software system. Different testing techniques are
used at different times while testing the system. It is conducted by the developer for small projects and by independent testing groups for
large projects.
Test Strategy
It is a statement that provides information about the various levels, methods, tools, and techniques used for testing the system. It should
satisfy all the needs of an organization.
Test Plan
It provides a plan for testing the system and verifies that the system under testing fulfils all the design and functional specifications. The test
plan provides the following information −
● A number of test cases are identified for each module of the system to be tested.
● Each test case will specify how the implementation of a particular requirement or design decision is to be tested and the criteria for
the success of the test.
● The test cases along with the test plan are documented as a part of a system specification document or in a separate document
called test specification or test description.
Test Procedures
It consists of the steps that should be followed to execute each of the test cases. These procedures are specified in a separate document called
test procedure specification. This document also specifies any special requirements and formats for reporting the result of testing.
Test result file contains brief information about the total number of test cases executed, the number of errors, and nature of errors. These
results are then assessed against criteria in the test specification to determine the overall outcome of the test.
Types of Testing
Testing can be of various types and different types of tests are conducted depending on the kind of bugs one seeks to discover −
Unit Testing
Also known as Program Testing, it is a type of testing where the analyst tests or focuses on each program or module independently. It is
carried out with the intention of executing each statement of the module at least once.
● In unit testing, accuracy of program cannot be assured and it is difficult to conduct testing of various input combination in detail.
● It identifies maximum errors in a program as compared to other testing techniques.
Integration Testing
In Integration Testing, the analyst tests multiple module working together. It is used to find discrepancies between the system and its original
objective, current specifications, and systems documentation.
● Here the analysts are try to find areas where modules have been designed with different specifications for data length, type, and data
element name.
● It verifies that file sizes are adequate and that indices have been built properly.
Functional Testing
Function testing determines whether the system is functioning correctly according to its specifications and relevant standards documentation.
Functional testing typically starts with the implementation of the system, which is very critical for the success of the system.
● Positive Functional Testing − It involves testing the system with valid inputs to verify that the outputs produced are correct.
● Negative Functional Testing − It involves testing the software with invalid inputs and undesired operating conditions.
To carry out system testing successfully, you need to follow the given rules −
QUALITY ASSURANCE
It is the review of system or software products and its documentation for assurance that system meets the requirements and specifications.
● Purpose of QA is to provide confidence to the customers by constant delivery of product according to specification.
● Software quality Assurance (SQA) is a techniques that includes procedures and tools applied by the software professionals to ensure
that software meet the specified standard for its intended use and performance.
● The main aim of SQA is to provide proper and accurate visibility of software project and its developed product to the
administration.
● It reviews and audits the software product and its activities throughout the life cycle of system development.
There are several levels of QA and testing that need to be performed in order to certify a software product.
At this level, offline software is examined or checked for any violations of the official coding rules. In general, the emphasis is placed on
examination of the documentation and level of in-code comments.
At this level, it is checked that the software can compile and link all official platforms and operating systems.
Level 3 − Routine Running
At this level, it is checked that the software can run properly under a variety of conditions such as certain number of events and small and
large event sizes etc.
At this final level, it is checked that the performance of the software satisfies the previously specified performance level.
Maintenance Types
Audit Trial
An audit trial or audit log is a security record which is comprised of who has accessed a computer system and
what operations are performed during a given period of time. Audit trials are used to do detailed tracing of how
data on the system has changed.
It provides documentary evidence of various control techniques that a transaction is subject to during its
processing. Audit trials do not exist independently. They are carried out as a part of accounting for recovering
lost transactions.
Hardware and Software Selection procedure
Hardware and Software Selection
Hardware and software selection is a crucial aspect of data mining and warehousing projects as it directly
impacts the efficiency, accuracy, and scalability of the system. Here is a brief overview of what to consider
when selecting hardware and software for data mining and warehousing:
Hardware Selection:
1. Processing Power: The hardware must have enough processing power to handle large data sets and
complex data mining algorithms.
2. Storage Capacity: The system must have adequate storage to hold the data warehouse and the data
mining models.
3. Scalability: The hardware must be able to scale up or down according to the organization’s changing
data needs.
4. Network Speed: The hardware should support high-speed network connectivity to ensure that data
transfer between the data warehouse and data mining algorithms is seamless.
Software Selection:
1. Data Mining Algorithms: The software must support a wide range of data mining algorithms to ensure
that the organization can extract insights from its data.
2. Data Warehousing: The software should support the creation of a robust and scalable data warehouse.
3. Data Visualization: The software should provide interactive and easy-to-use data visualization tools to
help users make sense of the data.
4. Integration: The software must be compatible with the organization’s existing IT infrastructure,
including databases and data sources.
Overall, selecting the right hardware and software for data mining and warehousing is critical to the success of
the project. Organizations should carefully evaluate their needs, available resources, and budget before making
any decisions.
Hardware and Software Selection procedure
1. Requirements analysis
2. System specifications
3. Request for proposal(RFP)
4. Evaluation and validation
5. Vendor selection
6. Post-installation review
Requirements analysis
The first step in selection is understanding the user’s requirements within the framework of the organization’s objectives and the
environment in which the system is being installed. Consideration is given to the user’s resources as well as to finances.
In selecting software, the user must decide whether to develop it in house, hire a software company or contract programmer to create
it, or simply acquire it from a software house. The choice is logically made after the user has clearly defined the requirements
expected of the software. Therefore, requirements analysis sets the tone for software selection.
System Specifications
Failure to specify system requirements before the final selection almost always results in a faulty acquisition. The specifications
should delineate the user’s requirements and allow room for bids from various vendors. They must reflect the actual applications to be
handled by the system and include system objectives, flowcharts, input-output requirements, file structure and cost. The specifications
must also describe each aspect of the system clearly, consistently and completely.
After the requirements analysis and system specifications have been determined, a request for proposal is drafted and sent to selected
vendors for bidding. Bids submitted are based on discussions with vendors. At a minimum, the RFP should include the following
1. Complete statement of the system specifications, programming language, price range, terms and time frame.
2. Request for vendor’s responsibilities for conversion, training and maintenance
3. Warranties and terms of license or contractual limitations.
4. Request for financial statement of vendor
5. Size of staff available for system support
The evaluation phase ranks vendor proposals and determines the best suited to the user’s needs. It looks into items such as price,
availability and technical support. System validation ensures that the vendor can match his/her claims, system performance. True
validation is obtained verified by having each system demonstrated. An outside consultant can be employed for consulting purpose.
Vendor selection
This step determines the winner – the vendor with the best combination of reputation, reliability, service record, training, delivery
time, lease finance terms and conversion schedule. Initially a decision is made which vendor to contact. The sources available to check
on vendors include the following
1. Users
2. Software houses
3. Trade associations
4. Universities
5. Publications/Journals
6. Vendor software lists
7. Vendor referral directories
8. Published directories
9. Consultants
10. Industry contacts
Sometime after the package is installed, a system evaluation is made to determine how closely the new system conforms to plan.
System specifications and user requirements are audited to pinpoint and correct any differences
Software selection:
Software selection is a critical aspect for system development. There are 2 ways of acquiring the software.
1) Custom -made
2) Packages
QUALITY FACTORS
Quality factors are taken into consideration while designing the product and the manufacturing process to
achieve desired quality. As we know that Quality depends mainly on customer’s perceptions. Hence, it is
essential that all product features or product and service characteristics must be built in the design and
maintained in manufacturing which the customer would like to have and is willing to pay for it.
The product must perform its intended functions over its stipulated life cycle under normal conditions. Many
times it is required that the product must be safe in handling and must look attractive.
Thus, we come to the conclusion that the product should have certain abilities to perform satisfactorily in stated
applications. And these abilities are categorized into ten factors as under:
1. Reliability: means that it should give efficient and consistent performance
2. Suitability: suitability for a specific application.
3. Durability: means it should have desired life.
4. Affordability: It should be economical.
5. Maintainability: It should be easy to maintain.
6. Aesthetic look: It should look attractive.
7. Satisfaction to customers: It should satisfy the customer’s requirements.
8. Safe and foolproof workability.
9. Versatility: It should be used or serve a number of purposes.
10. Economical: It should have a reasonable price.
A product can be said to possess good Quality if all the above
requirements are properly balanced while designing and
manufacturing it.
Quality Characteristics
An element that makes the product fit for use is the quality
characteristics.