Subscribe by Email


Showing posts with label Units. Show all posts
Showing posts with label Units. Show all posts

Friday, October 4, 2013

What is a substitution cipher method?

There are two classic methods for cryptography namely transposition cipher method and the substitution cipher method. In this article we shall discuss about the latter one i.e., the substitution cipher method. 
- This method of encoding involves replacement of the units or letters of the plain text with some other units or letters. 
- The encoded text is then called as the cipher text. 
- The replacement of the units is made based up on some regular system. 
These units might be individual letters, pairs or triplets of letters and so on. 
On the receiver’s side, an inverse substitution is required for deciphering the text. 
- We can make a comparison between the transposition ciphers and the substitution ciphers. 
- In the former ciphers, the plain text units are rearranged unlike in substitution cipher where units are replaced.
- The order of rearrangement in the transposition ciphers is somewhat more complex than what is followed by the substitution ciphers and the units are not changed.
- On the other side, the sequence of the units remains same in the substitution cipher but they are themselves altered. 

There are various types of substitution cipher as mentioned below:

Ø  Simple substitution ciphers: 
- This involves substitution of the single letters and thus has been termed as the simple substitution. 
- The alphabet can be written out in some order so as to represent the substitution.
- This alphabet is referred to as the substitution alphabet. 
- This alphabet might be revered or shifted or scrambled in some complex manner. 
- In such cases, it is termed as the deranged alphabet or the mixed alphabet. 
The creation of the mixed alphabets involves writing out a keyword while removing the repeating letters and then rewriting the leftovers in the same sequence. 
- For avoiding the transmission errors, the cipher text is written in block form and the spaces and the punctuation are omitted. 
- This also helps in creating disguises for the boundaries between the words.

Ø Homophonic substitution: 
- This method is followed for increasing the difficulty for the frequency analysis attacks. 
- The frequencies of the letters of the plain text are disguised by homophony. 
Here the letters of the plain text are mapped to many symbols of the cipher text. 
- Normally the plain text symbols with highest frequencies are mapped with more equivalents when compared to their low frequency counterparts. 
- This leads to the flattening of the frequency distribution which in turn raises the difficulty of frequency analysis. 
- For the invention of larger alphabets a number of solutions are employed. 
The simplest of these solutions is using a numeric substitution alphabet. 
- Another method uses the variations of the existing alphabet i.e., writing it upside down, or in upper case and lower case etc. 
Nomenclature is also a variant of the homophonic substitution. 
- The other two types of homophonic ciphers namely straddling checker board and book cipher.

Ø Polyalphabetic substitution: 
- It involves the use of the multiple cipher alphabets. 
- For the facilitation of the encryption process, these alphabets are written out in a big table which is referred to as the tableau. 
- The particular poly alphabetic cipher is defined by the method with which the tableau is filled and the alphabet is chosen. 
- Some types of the polyalphabetic ciphers are:
             1. Beaufort cipher
             2. Gronsfeld cipher
             3. Running key cipher
             4. Autokey cipher

Ø  Polygraphic substitution: 
Here the letters of the plain text are substituted in terms of large groups instead of individual letter substitution.

Ø Mechanical substitution ciphers: 
Some examples of this type of substitution ciphers are enigma, rotor cipher machines etc.

Ø The one-time pad: 
This one is a special substitution cipher which has been proven that it is unbreakable mathematically.



Sunday, September 15, 2013

What is inter-network routing?

In this article we shall discuss about inter-network routing. Before moving to that there are certain terms with which you should be familiar:
Ø  End systems: The ISO (the international standards of organization) defines the end systems as the network elements that do not have the ability of forwarding the packets across the networks. Sometimes the term host is used to refer to the end systems.
Ø  Intermediate systems: These are the network elements that have the ability of forwarding the packets across the network. Most common examples are routers, switches, bridges and so on.
Ø  Network: It can be defined as a part of the inter-network infrastructure encompassing various elements including hubs, repeaters, bridges and so on. The networks are bounded by the intermediate systems.
Ø Router: This is one of the intermediate systems that is used for connecting various networks with each other. It might support one protocol (router) or many protocols (multi-protocol router). Its hardware part is optimized especially for performing routing. The software part is responsible for carrying out the routing and takes care of the routing tables.
Apart from these devices, there are 3 types of addresses involved in inter-network routing:
Ø  The inter-network address: The host address and the network address are combined together to form this address. This is used for unique identification of a host over the inter-network.
Ø The host address or host ID: This ID might be assigned by the administrator or might be simply the physical address of the host. It is used for the unique identification of the host on its network.
Ø  The network address or network ID: This is address of a network for identifying it in an inter-network.

All the data packets consist of a network layer header. This network layer header consists of the following when the packet is transmitted from one host to another:
ØThe address of the source inter-network: This address combines the address of the source host and the source network.
ØThe address of the destination inter-network: This address combines the address of the destination host and the destination network.
ØThe hop count: This usually begins at zero and is numerically incremented when the packet crosses a router. Or in the opposite case it might be assigned some maximum value which might be decremented on reaching a router. The purpose of using the hop count is to make sure that the packet does not keeps on circulating endlessly in the network.


- For inter-network routing, two things have to be known.
- Firstly, how do you reach other routers which lie in the same network and secondly, how do you reach other routers which lie in other networks? 
- The answer to the first question is easy as it is the common routing problem among two hosts residing over the same network. 
- This routing is handled by the interior gateway protocol and it is different for different networks since only local routing info is required. 
- In this case, the commonly used protocol is the open shortest path first or OSPF protocol. 
- The routing between two different networks is performed using the exterior gateway protocol. 
- This is actually the problem of inter-network routing. 
- Here, the commonly used protocol is the BGP or the border gateway protocol. 
- The graph for inter-network routing is quite different from the one that is used in the network routing. 
- This is so because the routers which lie in the same network can be thought of as being directly connected to one another for routing across inter-network. - All the networks in an inter-network function as though they are one large unit. 


Friday, March 22, 2013

What is an Artificial Neural Network (ANN)?


- The artificial neural network or ANN (sometimes also called as just neural network) is a mathematical model that has got its inspiration from the biological neural networks. 
- This network is supposed to consist of several artificial neurons that are interconnected. 
- This model works with a connectionist approach for computing and thus processes information based up on this only. 
- In a number of cases, the neural network can act as an adaptive system that has the ability of making changes in its structure while it is in some learning phase. 
- These networks are particularly used in searching patterns in data and for modeling the complex relationships that exist between the outputs and inputs. 
An analogy to artificial neural network is the neuron network of the human brain. 
- In an ANN, the artificial nodes are termed as the neurons or sometimes as neurodes or units or the ‘processing elements’. 
They are interconnected in such a way that they resemble a biological neural network. 
- Till now, no formal definition has been given for the artificial neural networks. - These processing elements or the neurons show a complex global behavior. 
The connections between the neurons and their parameters is what that determines this behavior.
- There are certain algorithms that are designed for altering the strength of these connections in order to produce the desired flow of the signal. 
- The ANN operates up on these algorithms. 
- As in biological neural networks, in ANN also functions are performed in parallel and collectively by the processing units.
- Here, there is no delineation of the tasks that might be assigned to different units. 
- These neural networks are employed in various fields such as:
  1. Statistics
  2. Cognitive psychology
  3. Artificial intelligence
- There are other neural network models that emulate biological CNS and are part of the following:
  1. Computational neuroscience
  2. Theoretical neuroscience
- The modern software implementation of the ANNs prefers a more practical approach than biologically inspired approach. 
- This practical approach is based up on the signal processing and statistics. The former approach has been largely abandoned. 
- Many times parts of these neural networks serve as components for the other larger systems that are a combination of non – adaptive and adaptive elements.
- Even though a more practical approach for solving the real world problems is the latter one, the former has more to do with the connectionist models of the traditional artificial intelligence. 
- Well the common thing between them is the principle of distributed, non – linear, local and parallel processing and adaptation. 
- A paradigm shift was marked by the use of neural networks during the late eighties. 
- This shift was from the high level artificial intelligence (expert systems) to low level machine learning (dynamical system). 
- These models are very simple and define functions such as:
f: X à Y
- Three types of parameters are used for defining an artificial neural network:
a)   The interconnection pattern between neuron layers
b)   The learning process
c)   The activation function
- The second parameter updates the weights of the connections and the third one converts the weighted input in to output. 
- Learning is the thing that has attracted many towards it. 
- There are 3 major learning paradigms that are offered by ANN:
  1. Supervised learning
  2. Un – supervised learning
  3. Reinforcement learning
- Training a network requires selecting from a set of models that would best minimize the cost.
- A number of algorithms are available for training purpose where gradient descent is employed by most of the algorithms.
- Other methods available are simulated annealing, evolutionary methods and so on.


Sunday, November 18, 2012

How to develop a test plan tree in Test Director?


Testing a software system or application is not a child’s play rather it requires whole lot of focus, organization, management and vigor. Testing phases or tasks such as specification of the testing requirements, planning and execution of the tests, tracking of the defects are made quite easy with the test director. 

In this article we shall discuss about how the test plan trees can be developed using the test director. After the all of the testing requirements have been defined, the testing goals need to be determined by carrying out various activities such as:
  1. Examining the testing as well as the system environment.
  2. Examining the software system or application under test (SUT and AUT).
  3. Examining the testing process
- These three activities are particularly carried out so that the testing strategy designed to achieve the testing goals can be outlined. 
- After testing goals are determined, one proceeds to build a test plan tree. 
The purpose of this test plan tree is to hierarchically divide the software system or application under testing in to smaller testing units or one can call them ‘subjects’.
- For each subject or unit in the test plan tree some tests are defined consisting of steps. 
- Next, the actions to be performed on the application as well as the expected results are defined for each of those steps. 
- Addition of parameters to the test step adds to its flexibility. 

Now how to keep track of the relationships shared by the testing requirements and tests? 

- Just add links between the two corresponding things.
- Other than being simple, another benefit of adding links is that you can be assured of the compliance with the requirements in all the stages of the testing process. 
- After getting done with this, you decide which all tests you want to get automated. 
- If you see the application as a whole unit to be tested it seems like a very big thing. 
Here, in the test director, the application is divided into smaller units based up on its functionality with the help of the test plan module. 
- Test plan tree serves all this purpose and is referred to as the graphical representation of the test plan.
- Here the tests are displayed on the basis of the hierarchical relationship in their functions. 
- After all the subjects in the test plan tree have been defined the next step involves creating step for each and adding them to the tree.
- The below mentioned are the steps to be followed:
  1. Open and log on the project for which the testing process is going on.
  2. Make sure that the test plan module is on display and if it is not click on the test plan module to do so.
  3. Now you need to add a subject folder to the test plan tree by clicking on the new folder button. Give a name and description for the folder and hit OK button. You will see a new subject folder under the main subject folder in the test plan tree.
  4. Next step is to add a test to the folder we created above by clicking on the new test button. Give a name for test and click OK. You will require to fill in the following details like level, review status and priority. This test then will be added to the test plan tree.
  5. Go to the details tab and you can fill up the following details:
a)   Test name
b)   Test designer
c)   Creation date
d)   Test status etc.
e)   description


Wednesday, June 13, 2012

What is a structure point and what are its characteristics in domain engineering?


Structure points are one of the terms with which most of us are rarely familiar. But, the structure points indeed play an important role in the domain engineering.  Those who know something about the domain engineering, might be familiar with the term. This article is all about the structure points, their characteristics and what role have they got to play in the domain engineering. 
But, before moving on to the structure points, you need to know at least a little about the domain engineering.  

About Domain Engineering


Domain engineering consists of 3 primary phases namely:
  1. Domain analysis
  2. Domain design
  3. Domain implementation
- Firstly, the application domain that is to be investigated is defined and all the common and varying points obtained from the domain are categorized. 
- These common and varying points are represented by the domain model. 
- The representative applications that are the result of the domain analysis are subjected to analyzation based on which the domain model is prepared which serves with the development of the architecture of the software system or application. 
- This process results in the formation of another model called the structural model. 
- This structural is said to consiss of a small number of structural elements in which you can clearly observe the interaction patterns manifesting. 
- The architectural that has been created in the previous steps can be re- used wherever required in the whole domain.
- The structural model is where the structure points come in to play! They act as distinct constructs within the structural model aspects like:
  1. Interface
  2. Response mechanism
  3. Control mechanism etc.
The domain engineering promotes the re- use of the components of the existing software systems or applications. A repository of the re- usable components or artifacts is created.
Now moving on to the characteristics of the structure points, they have got three basic characteristics:

Characteristics of Structure Points


1. The structure points ought to implement the concept of information hiding by the means of isolating all the complexity of them. This has provided a great deal of help in the reduction of the overall perceived complex nature of the software system or application.

2. With the structure points, abstractions having a limited number of instances in the application re- occur in all the applications that lie within a domain. The size of the class hierarchy should be small for this characteristic to take effect. Plus if the abstraction does not occur in all the parts of the software application, you won’t be able to justify the cost to verify, document and disseminate the structure points.

3. The rules that govern the use of structure point are very easy to understand plus the interface of the structure point is relatively very simple.

What is Structural Modeling and what is the role of structure point?


- The structure modelling is an essential approach to the domain engineering and is facilitated by the structure points. 
- Structural modelling is actually a pattern based approach and works up on the assumption that every application domain consists of repeating patterns that can be effectively reused. 
- A structural model is composed of a number of structure points.
- These elements only characterize the architecture of the software systems or applications. 
Simple patterns of interaction among these structure points can result in the formation of many architectural units. 
- Thus, structure point can be identified as a distinct construct within a structural model. 

Therefore the characterization of the structure points can be done as follows:
  1. The number of instances of the structure point should be limited.
  2. The interface should be relatively simple.
  3. Information hiding must be implemented by the structure point by isolation all the complexity contained within the structure point. 


Tuesday, April 3, 2012

What is the entry and exit criterion for unit testing?

First let us brief up ourselves with what the concepts of the unit testing and then we shall proceed further in discussing about the entry and exit criterion for unit testing.

About Unit Testing

- Unit testing is a self explanatory term.

- It involves the testing of the smallest units or modules of the software system or application in order to determine whether or not they are working properly and in the desired manner.

- Since this testing methodology is employed for testing the smallest individual unit of the software system or application, hence it got the name “unit testing”.

- If the program or application has been developed using procedural programming oriented language then the entire module is treated as units in the unit testing or else in general, the individual procedures and functions are the units.

- For the applications and softwares in which objected oriented programming has been implemented, the entire application’s interface.

- The test cases for the unit testing are created by the white box testers since they have an in depth knowledge of the software system or application.

- Sine the units are tested in isolation with the other units and independently, hence the test cases created for unit testing are also independent in nature.

Unit Test Case

- A unit test case can be assisted in unit testing by using substitutes like those mentioned below:
1. Mock objects
2. Methods stubs
3. Test harnesses
4. Fakes and so on.

- The test cases for the unit testing are both written and executed by the software developers.

- This ensures that the source code is at par with the design and architecture of the software system or application and works as accordingly as specified.

- The test cases can be implemented in two ways i.e., manually or through the use of automation tools as a part of build automation.

Entry Criterion for Unit Testing

- The functional specifications requirements of the software system or application under test need to be frozen.

- The technical design specifications need to complete and approved. They should have been released.

- The system specifications document also should be complete, approved and released.

- No issue should be pending in the query issue register regarding the requirements under the unit testing.

What else unit testing involves?

- Apart from just testing the modules, the unit testing involves the verification of the requirement specifications in regard with the finalized design and functional specifications requirements.

- For harnessing the maximum benefits of the unit testing, all of the requirements specifications should be signed off.

- Unit testing is said to be complete when the source code is complete and that too according to the specifications.

- All the design specifications should meet the design standards and the entire unused variable, code files should have been removed from them.

- The code documentation including the commenting and AOT documentation must also be complete and approved.

- To put it simple the code should be in such a state so as to be released to the customers or the clients.

Exit Criterion for Unit Testing

- All the units have successfully passed the unit test.

- The code is complete according to the requirements.

- No elements and features are missing.

- The possible errors and warnings have been resolved. This criterion is optional since most of the times it’s not possible to remove all of the errors.

- Code optimization for all the three tiers has been done.

- There is no error in the performance optimization.

- All label files have been created.

- All unused files have been removed.

- Redundant code is removed.


Wednesday, January 18, 2012

What are different aspects of iterative approach?

Iterative approach along with incremental development forms the heart of software development process or cycle which has been developed in response to the weaknesses of the sequential approach of water fall model.

Iterative approach begins with the execution of an initial plan and is ended with deployment with the interactions between the implementation and testing components of the cycle.

Iterative approach forms an important part of the extreme programming, rational unified process and agile software development frame works apart from the cyclic software development process.

It is similar to following the plan- do- check- act cycle of business development process.

BASIC IDEA BEHIND ITERATIVE APPROACH

- The basic idea behind this iterative approach is to develop a system or application through repeated cycles or iterations and in smaller units at one time (called incremental development).

- Such an approach allows the software testers and developers to take the advantage of earlier learnt lessons during the development of the software system or application.

- Learning comes simultaneously from development as well use of the software system or application.

- The basic idea of this whole iteration approach is to implement a task and its redesigning as stated in the project control list.

- It involves analysis of the current version of the software system or application.

STEPS IN ITERATIVE APPROACH
- The key steps involve implementation of the sub sets of the software system or application requirements and this in turn leads to the enhancement of the evolving versions until the implementation of the full software system or application.

- At each step of iteration approach slight modifications in the design are made and new functional features are added.

- The first step in the procedure for iterative approach involves the process of initialization.

- The objective of the initialization step is to create a basic version of the software system or application to which the users of the software can react and give useful feedback.

- The created basic version offers a sample of all the key features and aspects of the problem concerned and also provides a solution to that problem which can be easily implemented.

- The second step is the iteration step.

- The third step involves the controlling of the project development cycle.

- The third step involves creation of a list records of all the tasks and processes that are needed to be performed and the steps which guide the whole process of iteration process.

- The project control list also includes the new features and aspects that have to be added to the software system or application.

- Apart from all this the list also mentions the areas of the software system or application that have to be redesigned from the existing solution of the problem.

- During the analysis phase the list is regularly revised and new points are continuously added.

PRINCIPLES OF ITERATION TESTING
According to the principles of the iteration testing:

- The design as well as its implementation of any iteration should be simple, modular and straight forward.

- However the level of designing is not mentioned in the project control list.

- The analysis of an iterative project is solely based up on the user feedback and the program analysis methodologies available.

- The analysis includes testing of the structure, usability, modularity, reliability, efficiency and goal achievement rate.

- If the project is found lagging in any of these aspects, the project control list is modified accordingly.

- The iterative approach involves slicing up of functionality of the software system in to small portions or increments as they are commonly called.

- In each and every increment functionality is added via cross discipline method and from the requirements to the deployment.


Sunday, December 18, 2011

What are different characteristics of system testing?

System testing is a word heard often. But what is meant by that actually? As the name suggest, one make out that it has got something to do with testing of systems. Scientifically it can be defined as the testing of both the components of the system i.e.software and hardware.

- The system testing is carried out on a finished, complete, and integrated system to check the system's cooperation according to the specified conditions and requirements.
- System testing is categorized under the category of black box testing, and therefore doesn’t require any knowledge of the internal structure and design of the source code.
- According to the rules and regulations of the system testing, only the integrated components that have passed the integration testing successfully can be given as input for software system.
- The software system that has been incorporated successfully with the appropriate hardware system can also be taken as input to the system testing.
- The system testing aims at detecting all the discrepancies, defects and constraints.
- The software system itself integrated with any other software or hardware system and has successfully passed the system integration testing can also be considered as an input for the system testing.
- System testing deals with the inconsistencies and flaws that are present in the system software which is made up of integrated software and hardware components. - System testing like other testing methodologies is a much limited kind of testing.
- System testing is concerned with the detecting of defects within the assemblages i.e., inter- assemblages as well as within the software system as a whole entity.
- Unlike integration testing and unit testing, the system testing is carried out on the whole software system as one unit.
- System testing mainly deals with basic and important contexts namely functional requirement specification (FRS) and system requirement specification (SRS).
- System testing is not only about testing the design of the software system but, also its behavior and the expected features of the customers.
- System testing also tests the software system up to the limits and also beyond the limits and conditions specified for the software and hardware components.
- System testing is performed to explore the functionality of a software system.
- System testing is carried out before the system is assembled and after the system has been finished and completed.

There are various testing techniques that together make up a complete system testing methodology. Few have been listed below:
- Stress testing
- Load testing
- Error handling testing
- Compatibility testing
- Performance testing
- Usability testing
- Graphical user interface testing
- Security testing
- Volume testing
- Scalability testing
- Sanity testing
- Exploratory testing
- Smoke testing
- Regression testing
- Ad hoc testing
- Installation testing
- Recovery testing
- Reliability testing
- Fail over testing
- Maintenance testing
- Accessibility testing

While carrying out the system testing it is very important to follow the systematic procedures.
- Only specifically designed test cases should be used for testing.
- Examiners test he system by breaking in the system i.e., by giving incorrect data.
- Unit testing and integration testing form the base of the system testing.
- System testing forms a crucial step of the process of quality management.
- System is tested to determine if it meets all the functional requirements and also helps in verification and validation of application architecture and business requirements.

Conditions to be followed before system testing is carried:
- All the units must have successfully passed the unit testing.
- All the modules or units must have been integrated and successfully passed the integration test.
- The surrounding environment should resemble the production environment.

Steps that should be followed during the system testing:
- A system test plan should be created.
- Test cases should be created.
- Scripts should be created to build environment.


Tuesday, November 29, 2011

What are different characteristics of integration testing?

Sometimes abbreviated as "I&T", it is one of the most important testing in the world of software testing which tests units as a group. Means to say, in integration testing the units or modules are combined and tested. This is done to determine that the units are working in collaboration with each other or not.

- Integration testing is carried out after the unit level testing but before the validation testing.
- For integration testing units or modules that have been unit tested are supplied as input. Then they are conjoined to form groups and integration is performed over them and the output is given out.
- Integration testing is carried out to examine the functionalities, reliability, performance and requirements of those grouped modules under testing.
- Integration testing is implemented through the interfaces of the units with the help of black box testing techniques.
- During integration testing success and failures are overcome, inter process communication between the units is tested and using the input surface individual and distinct subsystems are implemented.
- Like other kinds of testing, integration testing also requires the aid of test cases to test various aspects of its input unit aggregates.
- Integration testing works on the idea of “building block” according to which verified and examined unit aggregates are implemented on a verified base which is the software system itself.

There are various kinds of integration testing techniques. Three major techniques have been discussed below:

- Big Bang:
In this type of integration testing all of the grouped units or modules are joined together to the form the complete and finished software system and then the integration testing is carried out for the whole software system in one go. The big bang technique is very effective when the software developer wants to save his/ her time. This technique is a true time saver package. But, it has a disadvantage which is that if the unit tests have not been recorded and carried out properly, the whole integration testing process may become more complicated and difficult to crack and may prove to be a hindrance between the integration testing and its goal.

- Big bang technique has a distinct testing method which is called “usage model testing”.
- This integration testing works for both hardware integration testing as well as for software integration testing.]
- This type of integration testing aims implement user like workloads in user like environments which are well integrated.
- This testing methodology involves the proofing of environment first and then later proofing the individual units by implementing their functionality or usage. - This can be thought of as an optimistic approach to integration testing.
- This technique requires more hard work as the problems are more. It is based upon the idea of “ isolate and test”.

But the big advantage here is that usage model testing provides good test coverage and thus making it more efficient than the other techniques.

- Top down integration testing:
This type of integration testing includes testing of the modules at the top most position first and coming down to the branches of those modules or units until the end of the program is reached.

- Bottom up integration testing:
This type of integration testing the modules or the units’ aggregates at the lowest level are tested first and then the upper modules are tested. This testing is carried on and on till the top most module is tested. This kind of testing is helpful only when all the modules have been developed and are ready for integration.

- Top sandwich integration testing:
This integration testing technique involves combination of top down and bottom up testing.


Friday, January 28, 2011

Introduction to Navigation Design - Navigation Semantics and Syntax

Once the web application architecture and the content is defined, navigation pathways that enable users to access the web application content and functions.
- semantics of the navigation for different users of the site should be identified.
- syntax of achieving the navigation should be defined.

NAVIGATION SEMANTICS


Each user category has a user hierarchy and related use cases. There are different navigation requirements for each actor. A set of classes are defined for the use cases developed for each user. It contains one or more content objects or web application functions. As interaction with web application occurs, series of Navigation Semantic Units(NSUs) are encountered. A NSU describes the navigation requirements for each use case. The NSU shows how an actor moves between content objects or web application functions.
Navigation Semantic Unit is a set of information and related navigation structures that collaborate in the fulfillment of a subset of related user requirements.

The Web application designer creates a navigation semantic unit for each use case associated with each user role. During initial stages of navigation design, the web application content architecture is assessed to determine one or more ways of navigating for each use case. Ways of navigating identifies navigation nodes and the links that enable navigation between them.

NAVIGATION SYNTAX


The syntax of navigation design are:
- Tabs: a variation of navigation bar or column.
- Individual navigation link: test based links, icons, buttons and graphical metaphors.
- Horizontal Navigation bar: lists major content or functional categories in a bar containing appropriate links.
- Vertical Navigation column: lists major content or functional categories and second lists virtually all major content objects within web application.
- Site maps: provide an all-inclusive table of contents for navigation to all content objects and functionality contained within web application.


Saturday, December 4, 2010

What comprises Test Ware Development : Test Plan - Integration Test Plan

The integration test plan is the overall plan for carrying out the activities in the integration test level, which contains the following sections:

- What is to be tested?
This section clearly specifies the kinds of interfaces fall under the scope of testing internal, external interfaces, with request and response is to be explained. This need not go deep in terms of technical; details but the general approach how the interfaces are triggered.

- Sequence of Integration
When there are multiple modules present in an application, the sequence in which they are to be integrated will be specified in this section. In this, the dependencies between the modules play a vital role. If a unit B has to be executed, it may need the data that is fed by unit A and unit X. In this case, the units A and X have to be integrated and then using the data, the unit B has to be tested. This has to be stated to the whole set of units in the program. Given this correctly, the testing activities will lead to the product, slowly building the product, unit by unit and then integrating them.

- List of modules and interface functions
There may be N number of units in the application but the units that are going to communicate with each other, alone are tested in this phase. If the units are designed in such a way that they are manually independent, then the interfaces do not come into picture.This is almost impossible in any system, as the units have to communicate to other units, in order to get different types of functionalities executed. In this section, we need to list the units and for what purpose it talks to the others needs to be mentioned. This will not go into technical aspects, but at a higher level, this has to be explained in plain English.

Apart from above sections, it also includes:
- Integration Testing Tools
- Priority of Program Interfaces
- Naming Convention for test cases
- Status reporting mechanism
- Regression test approach
- ETVX criteria
- Build/Refresh criteria.


What comprises Test Ware Development : Test Plan - Unit Test Plan

The test strategy identifies multiple test levels, which are going to be performed for the project. Activities at each level must be planned well in advance and it has to be formally documented. Based on the individual plans only, the individual test levels are carried out.
The plans are to be prepared by experienced people only. In all test plans, the (ETVX) Entry-Task-Validation-Exit criteria are to be mentioned. Entry means the entry point to that phase. Task is the activity that is performed. Validation is the way in which the progress and correctness and compliance are verified for that phase. Exit tells the completion criteria of that phase, after the validation is done.

ETVX is a modeling technique for developing worldly and atomic level models. It is a task based model where the details of each task are explicitly defined in a specification table against each phase i.e. Entry, Exit, Task, Feedback In, Feedback Out, and measures.
There are two type of cells, unit cells and implementation cells. The implementation cells are basically unit cells containing the further tasks. A purpose is also stated and the viewer of the model may also be defined e.g. to management or customer.

Types of Test Plan


Unit Test Plan (UTP)
The unit test plan is the overall plan to carry out the unit test activities. The lead tester prepares it and it will be distributed to the individual tester, which contains the following sections:

- What is to be tested?
The unit test plan must clearly specify the scope of unit testing. In this, normally the basic input/output of the units along with their basic functionality will be tested. In this case, mostly the input units will be tested for the format, alignment, accuracy and the totals.

- Sequence of testing
The sequence of test activities that are to be carried out in this phase are to be listed in this section. This includes, whether to execute positive test cases first or negative test cases first, to execute test cases based on the priority, to execute test cases based on test groups etc.

- Basic functionality of units
The independent functionalities of the units are tested which excludes any communication between the unit and other units. The interface part is out of scope of this test level.

Apart from these, the following sections are also addressed:
- Unit testing tools
- Priority of program units
- Naming convention for test cases
- Status reporting mechanism
- Regression test approach
- ETVX criteria


Facebook activity