Page 215 - DCAP310_INTRODUCTION_TO_ARTIFICIAL_INTELLIGENCE_AND_EXPERT_SYSTEMS
P. 215
Unit 11: Knowledge Organization and Management
4. Reconstruction of Features: This is an inverse of “suppressing features.” By reconstruction Notes
we mean restoration of a previously suppressed feature in the data, preferably, without
any loss of information of the original data.
5. Encoding of Features: A machine representation of features, preferably a compact one,
must be developed.
6. Feature Space Conversion: Given a model described in one feature space, often there is a
requirement to convert the description to another feature space.
11.3.2 Structure-based Techniques
Structure-based techniques serve two purposes: test coverage measurement and structural test
case design. They are often used first to assess the amount of testing performed by tests derived
from specification-based techniques, i.e. to assess coverage. They are then used to design additional
tests with the aim of increasing the test coverage. Structure-based test design techniques are a
good way of generating additional test cases that are different from existing tests. They can help
ensure more breadth of testing, in the sense that test cases that achieve 100% coverage in any
measure will be exercising all parts of the software from the point of view of the items being
covered.
Software testing is a process of executing a program or application with the intent of finding the
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 it’s design
and development. It provides Works as expected. It can be implemented with the same
characteristic.
Let’s break the definition of software testing into the following parts:
1. Process: Testing is a process rather than a single activity.
2. All Life Cycle Activities: Testing is a process that’s take place throughout the Software
Development Life Cycle (SDLC).
The process of designing tests early in the life cycle can help to prevent defects from being
introduced in the code. Sometimes it’s referred as “verifying the test basis via the test design”.
The test basis includes documents such as the requirements and design specifications.
Static Testing: It can test and find defects without executing code. Static Testing is done during
verification process. This testing includes reviewing of the documents (including source code)
and static analysis. This is useful and cost effective way of testing. For example, reviewing,
walkthrough, inspection, etc.
Dynamic Testing: In dynamic testing, the software code is executed to demonstrate the result of
running tests. It’s done during validation process. For example, unit testing, integration testing,
system testing, etc.
Planning: We need to plan as what we want to do. We control the test activities, we report on
testing progress and the status of the software under test.
Preparation: We need to choose what testing we will do, by selecting test conditions.
Evaluation: During evaluation we must check the results and evaluate the software under test
and the completion criteria, which helps us to decide whether we have finished testing and
whether the software product has passed the tests.
Software Products and Related Work Products: Along with the testing of code the testing of
requirement and design specifications and also the related documents like operation, user and
training material is equally important.
LOVELY PROFESSIONAL UNIVERSITY 209