Subscribe by Email


Showing posts with label Configuration. Show all posts
Showing posts with label Configuration. Show all posts

Wednesday, March 20, 2013

What are components of autonomic networking?


The concept of the autonomic systems has been derived from a biological entity called the autonomic nervous system (ANS). In human body this system is responsible for carrying out functions such as blood pressure and circulation, respiration and emotive response. 
In this article we discuss about the various components of the autonomic networking.

Components of Autonomic Networking

Autognostics: 
- This category of autonomic components includes capabilities such as that of awareness, self – discovery and self – analysis. 
- With all these capabilities, an autonomic system is capable of having a high – level view. 
- In other words, we can say that perceptual sub–systems are represented by it which serves the purpose of gathering, analyzing and reporting on the conditions and states of the system. 
- These components provide a basis to the system for responding and validating its decisions. 
- In simple words, autognostics provide self – knowledge. 
- This component if is rich, might provide various perceptual senses. 
-In autonomic systems, models of both the external and internal environments are embedded through which perceived threats and states can be assigned some relative value. 
- When it comes to autonomic networking, inputs from the following are taken for defining the state of the network:
a) Various network elements such as network interfaces and switches (inclusive of the current state and specification and configuration.
b) End – host
c)  Traffic flows
d) Logical diagrams
e) Design specifications
f)   Application performance data
- This component inter operates with the other components of the autonomic system.

Configuration management: 
- The responsibility for the interactions that take place among the interfaces and the elements.
- It consists of an accounting capability with which it is possible to track the configurations over the time under various circumstances. 
- Metaphorically, they act as the memory for the autonomic systems. 
- Provision and the remediation over a network can be applied through the configuration settings.
- In addition to these, two other things which can be applied are the selective performance and the implementation affecting access.
- This category only contains the actions that are taken by the human engineers. 
- There are a very few exceptional cases where the interface settings are configured manually using the automated scripts. 
- The dynamic population of the devices is maintained implicitly.
- This component must have the capability operating on all devices and to recover the old configuration settings. 
- There can be some situations where the states may become unrecoverable. 
Therefore, the sub – system must be capable of assessing the consequence of the changes before they are issued.

Policy management: 
- This component is inclusive of the following:
a)   Policy specification
b)   Deployment
c)   Reasoning over the policies
d)   Update of policies
e)   Maintenance of the policies
f)    Enforcement
- The reasons for including this component are:
a)  Configuration management
b)  Definition of the roles and relationships
c)  Establishment of trust and reputation
d)  Description of business processes
e)  Definition of performance
f) Constraints on behavior issues such as privacy, resource access, collaboration and security.
- It represents a model of ideal behavior and environment representing effective interaction.
- For defining the constituents of a policy it is important to know what all is involved in its management.

Autodefense: 
- The mechanism presented by this component is both dynamic and adaptive in nature.
- This mechanism has been developed to keep the network infrastructure safe from the malicious attacks. 
- Further, it also prevents the illegal use of the infrastructure for attacking the various technological resources. 
- This component has the capability of striking a balance between the various performance objectives that have threat management actions. 
- This component can be compared to the immune system of the human body.

Security: 
The structure provided by the security component is responsible for defining and enforcing the relationships between the following:
a)   Roles
b)   Content
c)   resources


Saturday, March 9, 2013

What is meant by Dynamic Virtual Private Network?


Dynamic virtual private network or DVPN is a network used for interconnecting various virtual application networks. 
- These networks reduce the need for manual configuration by a large percentage (almost by 93 %). 
- Dynamic virtual private networks help a great deal in the simplification of the wide area connectivity spread across a virtual application network.
- These networks have a great complexity when compared to the other networks.
- Further, they prove useful in establishing interconnections between various campuses, data centers, and offices and so on via IPsec VPN encryption. 
- The solution offered by the DVPNs is quite scalable, simple and secure. 
- The dynamic virtual private networks are highly automated and therefore provide a simple management solution. 
- A DVPN can scale up to 1000 – 3000 sites on a single router. 
- All these sites together constitute the domain of the DVPN. 
- So it is obvious that a very large network can be scaled via multiple DVPNs. 
The best thing about these DVPNs is that they support all the WAN technologies and therefore can be implemented up on all.
- Furthermore, they offer flexibility in reducing the cost when compared to the lower cost broadband access.
- All the network operations are simplified since DVPN has automated VPN setup plus provisioning.
- DVPNs offer high resilience without adding to the complexity of the network. 
Another characteristic feature of a dynamic virtual private network is its carrier agnostic connectivity.
- One solution to DVPN is offered by HP that has got the following features:
  1. Full mesh or hub – spoke configuration
  2. Encryption based up on IPsec standards.
  3. The control plane and the data plane have been separated to ensure scalability.
  4. Up to 30,000 clients are supportable by the VAM (VPN address management) server.
  5. Offers zero touch configuration.
- Another solution is offered by the Juniper networks. 
- Juniper’s DVPN is more of a client-less solution and has been designed for ‘remote access’ IPsec VPN. 
- The delivery of the client to the end users is made dynamically from SRX. 
The remote access is simplified by DVPN since it provides the users the facility to secure the IPsec VPN tunnels without any need for configuring the VPN settings on their systems. 
- This whole process comes in to when the users login to the server’s web site. - Juniper’s DVPN solution can be licensed to 5, 10, 25 or 50 concurrent users. 
- It supports windows xp and above versions (both 32 and 64 bit).
- However, there are certain limitations for this solution:
  1. It requires an external RADIUS server for providing an IP address and for XAUTH.
  2. Does not support shared IKE id.
  3. Mandatory PFS (perfect forward secretary).
  4. Requires custom IKE/ IPsec security proposals.
  5. Only IKE – id supported is the FQDN.
- Configuration for DVPN is required only on the SRX gateway.
- Dynamic virtual private network is more of an intranet enabler whose purpose is to complement the regular services offered by the internet by adding more services as well as resources to it. 
- One major feature of these networks is that they have an excellent ability of loading balance on – the – fly allocation of the resources. 
These networks are more popular in businesses since they offer more security by means of packet encryption protocols. 
- Self – modification is possible for the DVPNs and so they are able to recognize the added nodes without help from routers.
Encryption and authentication are two technologies used by DVPNs for securing packing data and delivering across the networks. 
- Until the data reaches it destination it remains unpacked or encapsulated. 
- For reaching the remote networks tunneling is used. 


Friday, October 5, 2012

Explain the concept of object repository & how QTP recognizes objects?


Just like its Winrunner counterpart, the quick test professional also comes with an object repository which is the first aspect of this article that we are going to discuss in this article and the second aspect to be discussed is regarding the identification of the objects by the quick test professional. 

What is a Object Repository?

- Just like we have a store room and other storage places in our house, the same way the quick test professional consists of a storage place where the information regarding the objects can be stored and this storage place is called the “object repository”. 
- During the process of the identification of the objects, the presence of an interface is necessary between the application under test and test scripts in order for proper identification of the objects. 
- This interface is provided by none other than the object repository itself. 
- An object can be identified as a run time entity with some characteristic properties as well as structure. 
- Few examples of software objects are:
  1. Windows
  2. Web pages
  3. Edit boxes
  4. Buttons
  5. Check boxes and so on.

What kind of objects QTP recognizes?

Quick test professional recognizes 4 types of objects as mentioned below:
1. Run time objects
These are the objects that are present in the application under test or AUT such as links, check boxes, buttons etc.

2. Test objects
-Run time objects cannot be operated up on directly rather there references are created which are nothing but the test objects such as web button, link, win edit and so on. 
-These test objects are referenced by different names in different environments.

3. Utility Objects
- These are the objects that are reserved by the quick test professional for the purpose of testing as well as test reporting. 
- One such example is the reporter object for displaying the test results.

4. User defined objects (also known as the automation objects)
- In most of the cases objects are required that can perform some specific operations i.e., the user defined operations. 
- Such objects are referred to as the user defined objects.

How QTP recognizes objects?

- For every action that is performed on an object, a local repository is created by the quick test professional automatically while the recording is in progress.
The local object repository is different from the global object repository in the respect that it cannot be shared among the tests.
- Additional objects can be added to this repository by the user as well as the existing ones can be modified. 
- Global object repository is more commonly known as the shared repository. 

Now let us focus up on the second aspect of the quick test professional i.e., the identification of the objects. 

- Quick test professional has got two major mechanisms for accomplishing this task as stated below:

1. Usual object identification mechanism
- In this mechanism, the learned description of the object i.e., the one provided by user is followed throughout the identification process for identifying the object. 

2. The smart identification mechanism
- This mechanism is smarter than the former one, more flexible but far complex. 
- It comes into play when the first one fails. 
- It rejects the description that was used in the first mechanism and prepares a list of objects that resembles properties defined by the quick test professional. - For the smart identification process to work properly it is required that it should be configured properly. 





Saturday, July 7, 2012

How is Configuration management (CM) process applied in software testing?


Configuration management or CM finds its use in a wide number of fields including software engineering. The configuration management in the field of software engineering is called “software configuration management” or SCM. 

What is Software Configuration Management?


- SCM over the years has proven itself to be one of the best practices for monitoring the changes in a software system or application. 
- This process has been very effective when it comes to the identification of the physical as well as functional attributes of a software system or application at various intervals of time.
- This process also takes the responsibility for taking over the systematic control of the changes to be made to the identified attributes from the user and maintains the software traceability as well as integrity through out all the stages of the software development life cycle. 

In this article we have focused up on the application of the configuration management in the process of software testing. So let us see how to apply the configuration management process in software testing. 

What is Configuration Management?


- Configuration management is all about doing a detailed updating and recording of the information that gives a description of the computer system or network. 
- As the software systems and applications being developed today continue to rise in the measure of the complexity, the need for software configuration management drives in. 
Software building organizations require developing and maintaining variants of their software system or application in order to reach out to a diversified market. 
- Today almost every one is aware of the need for a better management and control of the software products.
- Customers, managers and developers all want to modify the requirements, technical approach and the project approach. 
- Though the modification is quite necessary as the time passes, it is very important that the changes that are to be made are properly controlled.
- It is important for the project leader to known about the state of the software product that is under development and whether or not it is satisfying the needs of the customers.
- Software configuration management can be considered to be a support or assistant that can help a manager to manage and control the software production in a much better way.

Under the concept of software testing, the software configuration management is often considered to be same as the change control which is wrong. 
- Both these processes are only related in the way that the change control forms a critical part of the software configuration management. 
- One thing that needs to be addressed in the configuration management is the modification of the test objects should be installed only in the test environment first and that too with the permission of the test team lead. 
- This approach of configuration management prevents a software system or application from failing in such situations where another version of the same object is being tested. 
- After this the change management documentation has also to be updated since it bears a very critical relation with the testing of the software system or application. 
- Plus the way in which the changes have been dealt with should also be mentioned. 

In simple words, we can say that the evolution of the software systems or application is controlled by the software configuration management and so it makes un- neglect-able contributes to the quality of the software system or application and also to its delay constraints. 
The software configuration management was introduced in the field of software testing as a result of the “software crisis” i.e., when it was realized that the programming was not everything in software engineering. 


Tuesday, June 26, 2012

What are some common tools for installation testing?


Introducing a new student to the rest of the class gives us a practical example of the installation testing. The new student should be properly introduced to the rest of the class so that he/ she feel comfortable. Same holds true for software systems and applications. The effectiveness of any testing however also depends up on the type of the testing tools used. In this article we shall be discussing about some common tools for installation testing. 
If the installation of your software product fails, what impression it will make of you on the customer? Obviously it will cost you your reputation. How can you avoid such pathetic and embarrassing conditions? "Answer is by testing the software system’s or application’s installer with an appropriate combination of both the automated and manual processes on different machines and with different configurations". 
The factor of which you should be most concerned is nothing but “time” since installation testing eats up a lot of time, so you got to be wise and use testing tools that can save up your time. Execution of even a single test case takes a lot of time in installation testing. Now imagine if you are going to perform installation testing on a big software system or application? How much it is going to cost you? Before you start installation testing you need to decide on how many systems and configurations you are going to install the application software. Prepare a basic hard disk drive for this purpose with some other basic necessary components.

Role of Installation Testing Tools


- There are testing tools available that will help you in making sets of each of the configurations like file format and operating system that are used in the further installation testing.
- There are many other tools that can be used to automate the whole installation testing process.
- This involves setting out some systems for creating basic images of the base configuration. This can be done by using testing tools like Norton ghost which can create exact image of the operating systems very accurately and quickly.
- This step is guaranteed to save a huge amount of your time for each test case.
- Creating images takes only 5- 10 minutes whereas installing one Operating System with basic configuration takes up to one hour.
- There are some other tools that allow you to use one operating system with multiple attempts of installation.
- But in this case you will need to uninstall the application again and again and prepare the base state for the next installation.
- Apart from all the other testing tools, use flow diagrams also serve as a great aid for performing the installation testing.
- Use flow diagrams simplify the whole task so amicably.
- These flow diagrams can be further used for automating the test efforts since very easily these diagrams can be converted in to the automated scripts.
- Some test tools have been developed that test the installer scripts which are further used to check the disk space required for the installation.
- These tools make sure that only the required amount of space is utilized and not more than that otherwise an error is flagged. You should be careful with the fact that the space required is different for different file system formats.
- Another tool that can help you a big deal with installation testing is “distributed testing environment”.
- Adopting this methodology you can very effectively handle all the different test cases from just one machine and it saves you a lot of time.  


Monday, June 25, 2012

What is the relation between installation testing and configuration management?


Installation testing as we all know falls under the genre of quality assurance work in the field of software engineering and is all focused up on what is to be done by the customers in order to set up and install the new software system or application successfully. 

Installation testing process is constituted of the following processes:
  1. Upgrading of installation and un- installation process.
  2. Partial installation and un- installation process.
  3. Full installation and un- installation process.

What is Configuration Management?


- Configuration management is somewhat self justifying and is looked up on as one of the best practices available for handling the changes that are made in the software system or application during the project development.  
- It is also used as a means for the identification of the physical as well as functional attributes of the software system or application at various points of time during the development process. 
- The configuration management takes up the systematic control of the changes to be made to the identified attributes with the following purposes:
  1. Maintaining software trace-ability throughout the software development life cycle.
  2. Maintaining software integrity throughout the software development life cycle.

Relation between Installation Testing and Configuration Management


Both the above mentioned processes i.e., installation testing and configuration management share a relation with each other.  

- Installation testing is performed by the software testing engineer in collaboration with the manager handling the configuration management process known as “configuration manager”. 
- The configuration management process shows up the need to trace the changes. 
- This process has the ability with the virtue of which it verifies whether or not the final developed software system or application has all the enhancements, features and functionality that are required to be in the release. 
- In a way we can say that the configuration management checks how correctly the installation testing has been implemented. 
- It is done by the means of four below mentioned procedures that need to be defined for all the software systems or applications in order to ensure that a proper configuration management process is implemented:

1. Configuration Identification: 
It involves identification of the attributes defining all the aspects of the configuration item.

2. Configuration Change Control:
It includes a set of approval stages and set of processes that are intended to change the attributes of a configuration item and re- baseline them.

3. Configuration Status Accounting:
By virtue of this ability the configuration baselines associated with all the configuration items at any instant of time are recorded and reported.

4. Configuration Audits:
It occurs at the moment of incorporating the change. These can be divided in to two categories:
(a)Functional configuration audits: ensures achievement of the performance and functional attributes of the configuration items and
(b)Physical configuration audits: ensures proper installation of the configuration item with the requirements mentioned in the design documentation.

- In installation testing a complied version of the code is placed in a pre- production environment which also acts as the configuration item for configuration management. 
- The configuration management is carried out outside the usual software development environment so that the corruption to the code is limited from the past as well as the future releases.
- The set up program used in the package software acts as a multi configuration wrapper and each and every configuration in it should be tested appropriately so that it can be released with confident. 

In a way we can say that these two processes i.e., installation testing and configuration testing are locked with each other to some extent and this is what that keeps them related to each other.


How is optimization of installation testing done?


It becomes very important to carry out installation testing towards the end of the release process. It is very important to subject a software system or application to installation testing so that it can be released without any hesitation to the customers. 
One can make sure without installation testing that the software system or application will successfully install on the user’s system in the first go itself! The user might need to install the software system or application again and again which in turn might frustrate the user. You will loose customers as a consequence of this. Therefore perform installation testing becomes absolutely necessary. 
In this article we have discussed about the need for optimizing the installation testing and how to optimize it. by the optimization of the installation testing we mean modifying it further so that  some aspects of it use less resources and work more efficiently. 

What is the need to optimize?


- When you optimize a testing process you can run it more quite rapidly and that too it uses very less memory then. 
- The optimization though has been named as “optimization”, it can never produce a truly optimal system. 
- The amount of time taken by a test case of the installation can be reduced by making it consume more memory.
- In cases where the memory is limited, slower algorithms can be used.
- While optimizing the installation testing one should keep in mind that there is no such design that fits all the test cases. 

On what levels installation testing is optimized?


The installation testing process much like the other processes is optimized through the following number of levels:

Design Level: 
- This is the highest level of the above mentioned process. 
- Design is the best aspect that can be optimized to utilize the resources in a much better way.
- The implementation of the optimized design can be made more efficient by using efficient algorithms which in turn have been benefited from code of good quality. 
- It is obvious for the architecture of the test design to have an overwhelming affect on its performance.
- In some cases optimization process may also involve the following:
(a)  More elaborate algorithms
(b)  Special tricks
(c)   Special cases
(d)  Complex trade offs
- A fully optimized installation testing process becomes difficult to comprehend and may also house more errors than the un- optimized processes.

Source code Level: 
- This step involves rooting out the bad quality code from the test cases and therefore it also improves performance.
- When the malfunctioning code is removed, the obvious slow downs are avoided. 
- However, it is possible that any further optimization made to that test case may decrease its maintainability. 
- But, today there are available what are called “optimizing compilers”.

Compile Level:
- At this stage, it is ensured by the optimizing compiler that the test case is optimized to such a level at which the test case can be compiled by the compiler.

Assembly Level:
- This is the lowest level of optimization process and involves taking advantage of the full repertoire of system instructions. 
- This is the reason why most of the operating systems use the embedded systems are written in assembly code.
- Many of the test cases are compiled from a high level language to assembly language and from there it is manually optimized.

Run time: 
- Run time optimization is needed and are performed by the assembler programmers and just in time compilers which exceed the capability of static compilers.

Two types of optimizations can be performed on the installation testing process namely:
  1. Platform dependent optimization (uses specific properties of one platform) and
  2. Platform independent optimization (effective on all platforms)


Facebook activity