Subscribe by Email


Showing posts with label Formal. Show all posts
Showing posts with label Formal. Show all posts

Tuesday, June 12, 2012

Explain the concepts of Domain Analysis Process?


Domain analysis is one of the three phases of the domain engineering and is the first one. Domain engineering makes re- use of all the domain knowledge in the development of new software systems and applications. It forms a key concept of the software re- use. 

Application domain provides a key idea in the systematic software re- use of the software system or application. In this article we have discussed the process of domain analysis. The process of domain analysis involves sub processes like:
  1. Identification of domains
  2. Bounding of the identified domains
  3. Discovering commonalities and variabilities among all the systems in a particular domain.
The knowledge obtained in the above mentioned activities is captured in the models which are then later used in the third phase of domain engineering i.e., domain implementation for the creation of the artifacts such as:
  1. Domain specific language
  2. Re- usable components
  3. Application generators

Concepts of Domain Analysis


All the above mentioned artifacts can be used to develop new software systems or applications within that particular domain. 
- Domain analysis is one of the three primary phases of the domain engineering and focuses up on multiple systems within a domain. 
- In the phase of domain analyzation, the system domain is defined with the help of feature models. 
- Earlier these feature models were considered to be a part of the so called method: feature oriented domain analysis.
- One of the main aims of the domain analysis is to identify the common points as well as varying points in a particular domain. 
- The domain analysis has greatly helped in improving the development of the system architectures as well as the configurable requirements. 
- Apart from this, the domain analysis also helps with the development of static configurations.
- Most of the people confuse the domain analysis with requirements engineering, this is a mistake not to be made! 
- Domain analysis proves to be an effective technology for the development of the configurable requirements as compared to the traditional approaches since they are ineffective in domains. 
- The domain engineering tends to be effective only if the re-use of the already existing software artifacts is considered in the early stages of the development of the software system or application. 
- In the domain analysis, the features that can be re- used in the new software systems or applications are selected earlier and later are worked throughout the development life cycle. 
The entire process of the domain analysis is driven by the past experience produced from the artifacts on a primary basis. 
- There are many potential sources of the domain analysis few of which have been mentioned below:
  1. Artifacts of the existing systems.
  2. Requirement documents
  3. Design documents
  4. Standards
  5. User manuals
  6. Customers and so on.
- It is not necessary that the domain analysis should consist of the collected and formalized information rather it is the presence of a creative component that matters more.
- This thing distinguishes the domain analysis from the requirements engineering. 
- During the domain analysis what actually happens is that the developers try to extend their knowledge of the domain beyond what is already known. 
- This is done basically to categorize the similarities and differences of the domains so that the re-configurability is enhanced. 
- The domain analysis is carried out with the help of a domain model that represents the commonalities and variabilities of all the systems lying in that domain. 
- Basically, the creation of the components and architectures of the system is assisted by the domain model. 


Wednesday, May 16, 2012

Explain Test case, Test Script, Test Environment, Test Procedure and Test Log?


There are several terms related to software testing like test cases, test scripts, test environment, test procedures, test logs and the list goes on. So many terms make the whole concept of testing go topsy turvy inside our brains. 

What is a Test Case?


- A test case can be thought of as a case or a set of conditions that when executed or implemented will determine whether the aspect of the software system or application under the test is working properly or not. 
- Usually formal test cases are used for any type of software testing. 
- One positive test case and one negative test case should be used for testing a requirement of the software system. 
- Informal test cases are best suited for the applications having informal requirements. 

What is a Test Script?


- A test script as the term suggests is instructional script that is implemented on the software system or application to be tested. 
- This is done so that the system functionality are tested as expected. 
- Test scripts can be executed either manually or through automated process. 

What is a Test Environment?


- For a testing to be carried out, the tester needs to set up the right environment for the test i.e., the right set up of the hardware and software requirements using which the software testing is to be performed. 
- Two types of set up namely physical set up (hardware requirements) and logical set up (server operating system, data base server, client operating system, browser, front end running environment and IIS etc.) together constitute a proper testing environment. 
- While setting up the perfect test environment, the tester needs to keep in mind, all the requirements and specifications of the software system or application. 

What is a Test Procedure?


- Like a normal procedure for a task tells us what all steps to follow and how to follow to successfully complete the task, the test procedure also does the same.
- It lays out all the formal specifications of the test cases to be executed up on the software system. - The executability of a test procedure is one of its fundamental properties.
- A good test procedure is always executable. 
- The test procedure is implemented on its target via a process called “verifier” and a report is obtained regarding the passing status of all the executed test cases.
- Other characteristics of a good test procedure are:
1. Completeness
2. Self containment
3. Self validation and
4. Automatic execution
- Test procedures are used in every phase of the software testing right form the first phase to the last phase of regression testing.
- A specially coded language called “TPL (test procedure language)”  has been designed for writing the  test procedures. 
- The test procedure like test cases is also documented and all the instructions for the set up and execution of the test procedure as well the evaluation of its outcomes is stated in this documentation. 
- The documentation of a test procedure can be thought of as a set of associated instructions which are used in the identification of the actions in a particular sequence during a test case execution. 

What is a Test Log?


- It is defined as a record of the passing status (pass or fail) of all the test cases executed during a particular software testing. 


Facebook activity