Subscribe by Email


Showing posts with label Classes. Show all posts
Showing posts with label Classes. Show all posts

Wednesday, May 15, 2013

What is the Process Control Block? What are its fields?


The task controlling block, switch frame or task struct are the names of one and the same thing that we commonly called as the PCB or the process control block. 
This data structure belongs to the kernel of the operating system and consists of the information that is required for managing a specific process. 
- The process control block is responsible for manifesting the processes in the operating system. 
- The operating system needs to be regularly informed about resources’ and processes’ statuses since managing the resources of the computer system for the processes is a part of its purpose. 
- The common approach to this issue is the creation and updating of the status table for every process and resource and objects which are relevant such as the files, I/O devices and so on:
1.  Memory tables are one such example as they consist of information regarding how the main memory and the virtual or the secondary memory has been allocated to each of the processes. It may also contain the authorization attributes given to each process for accessing the shared memory areas.
2.   I/O tables are another such example of the tables. The entries in these tables state about the availability of the device required for the process or of what has been assigned to the process. the status of the I/O operations taking place is also mentioned here along with address of the memory buffers they are using.
3.   Then we have the file tables that contain the information regarding the status of the files and their locations in memory.
4. Lastly, we have the process tables for storing the data that the operating systems require for the management of the processes. The main memory contains at least a part of the process control block even though its configuration and location keeps on varying with the operating system and the techniques it uses for memory management.
- Physical manifestation of a process consists of program data areas both dynamic and static, instructions, task management info etc. and this is what that actually forms the process control block. 
- PCB has got a central role to play in process management. 
- Operating system utilities access and modify it such as memory utilities, performance monitoring utilities, resource access utilities and scheduling utilities etc. 
- The current state of the operating system is defined by the set of process control blocks. 
- It is in the terms of PCBs that the data structuring is carried out. 
- In today’s sophisticated operating systems that are capable of multi-tasking, many different types of data items are stored in process control block. 
- These are the data items that are necessary for efficient and proper process management. 
- Even though the details of the PCBs depend up on the system, the common parts can still be identified and classified in to the following three classes:
1.  Process identification data: This includes the unique identifier of the process that is usually a number. In multi-tasking systems it may consists of user group identifier, parent process identifier, user identifier and so on. These IDs are very much important since they let the OS cross check with the tables.
2.   Process state data: This information defines the process status when it is not being executed. This makes it easy for the operating system to resume the process from appropriate point later. Therefore, this data consists of CPU process status word, CPU general purpose registers, stack pointer, frame pointers and so on.
3.   Process control data: This includes process scheduling state, priority value and amount of time elapsed since its suspension. 


Thursday, January 31, 2013

Explain EiffelStudio? What technology is used by EiffelStudio?


For Eiffel programming language, the development environment is provided by the Eiffelstudio. Both of these – the Eiffelstudio and Eiffel programming language have been developed by Eiffel software. Presently the version 7.1 has been released.

- Eiffelstudio consists a number of development tools namely:
  1. Compiler
  2. Interpreter
  3. Debugger
  4. Browser
  5. Metrics tool
  6. Profiler
  7. Diagram tool
- All these tools have been integrated and put under the single user interface of the Eiffelstudio. 
- This user interface in turn is based on several UI paradigms that are quite specific to one another. 
- There has been done effective browsing through ‘pick and drop’ thing. 
- Eiffelstudio supports a number of platforms including the following:
  1. Windows
  2. Linux
  3. Mac OS
  4. VMS and
  5. Solaris
- This Eiffel software product comes with a GPL license. 
- However, a number of other licenses are also available. 
- Eiffelstudio falls under the category of open source development. 
- The beta versions of the product of the following release are made available to the public at regular intervals. 
- The participation of the Eiffel community in the development of the product has been quite active. 
- A list of the open projects has even made available on the origo web site. 
- The host of this site is at ETH Zurich. 
- Along with the list, information regarding the discussion forums, basic source code for check out etc. also has been put up. 
- In the month of June 2012, the last version 7.1 was released and the successive beta releases were made available very soon after that.

Technology behind EiffelStudio

The compilation technology used by the Eiffelstudio called Melting Ice is unique to the Eiffel software and is their trademark.
- This technology integrates the interpretation process of the elements with the proper compilation process. 
- This technology offers a very fast turnaround time. 
- This also means that the time taken for recompilation depends up on the size of the change to be made and not on the overall size of the program. 
Such melted programs even though can be delivered readily but still a finalization step is considered important to be performed before the product is released.
- Finalization step involves a very highly optimized compilation process which takes a long time but the executable generated is optimized.
- The interpretation in eiffelstudio is carried out through what is called the byte code-oriented virtual machine. 
- Either .NET CIL or C is generated by the compiler. 

History of Eiffelstudio

- The roots of the Eiffelstudio date back to when the Eiffel was first implemented by interactive software engineering Inc. 
- The Eiffel software was preceded by the interactive software engineering Inc. -The first implementation took place in the year of 1986. 
-The current technology used in Eiffelstudio evolved from the earlier technology called the ‘Eiffel bench’ that saw its first use in the year of 1990. 
- It was used along with the version 3 of the Eiffel programming language. 
- In the year 2001, the name Eiffel bench was changed to what we know now, the ‘Eiffelstudio’. 
- This was also the year when the environment was developed to obtain compatibility with the windows and a number of other platforms. 
- Originally, it was only available for Unix platform.
- Since 2001, Eiffelstudio saw some major releases with some new features:
  1. Version 5.0 (july 2001): The first proper version. Saw integration of the eiffelcase tool with the eiffelbench as its diagram tool.
  2. Version 5.1 (December 2001): Support for .NET applications. Also called the eiffel#.
  3. Version 5.2 (November 2002): The debugging capabilities were extended, an improved mechanism for C++ and C was introduced, eiffelbuild, roundtripping abilities etc. were added.



Wednesday, January 30, 2013

Give an overview of The diagram Tool of EiffelStudio?


Eiffelstudio is a rich combination of a number of development environment tools such as:
  1. Compiler
  2. Interpreter
  3. Debugger
  4. Browser
  5. Metrics tool
  6. Profiler
  7. Diagram tool
In this article we shall discuss about the last tool of Eiffelstudio i.e., the diagram tool. 

A graphical view of the software structures is provided by the Eiffelstudio’s diagram tool. This tool can be used effectively in both:
  1. Forward engineering process: In this process it can be used as design tool that uses the graphical descriptions for producing the software.
  2. Reverse engineering process: In this process it produces the graphical representations of the program texts that already exist automatically.
The changes that are made in any of the above mentioned two processes are given guaranteed integration by the diagram tool and this is called round trip engineering. 
It uses any of the following two graphical notations:
  1. BON (business object notation) and
  2. UML (unified modeling language)
By default the notation used is BON. The Eiffelstudio has the capability of displaying several views of the classes and their features. 
It provides various types of views such as:
1. Text view: It displays the full text of the program.
2. Contract view: It displays only the interface but with the contracts.
3. Flat view: It displays the inherited features as well.
4. Clients: It displays all the classes with their features that depend up on other class or feature.
5. Inheritance history:  It shows how a feature is affected when it goes up or down the inheritance structure.
There are a number of other views also available. There is an user interface paradigm that is based on holes, pebbles and other development objects and the Eiffelstudio relies heavily on this. 

Software developers using Eiffelstudio have to deal with abstractions that represent the following:
Ø  Classes
Ø  Features
Ø  Breakpoints
Ø  Clusters
Ø  Other development objects

- The way they deal with these things are same as that of the way in which the objects during run time are dealt by the object – oriented in Eiffelstudio.
- In Eiffelstudio, wherever a development object appears at the interface, it can be picked or selected irrespective of how it is visually represented i.e., what name is given to it and what symbol and so on. 
- To pick a development object you just have to right click on it. 
- The moment you click on it the cursor changes to pebble (a special symbol) that corresponds to different types of the object such as:
  1. Bubble or ellipse for class
  2. Dot for breakpoint
  3. Cross for feature and so on.
- As the position of the cursor changes, a line appears displaying the original position and current position of the object. 
- The object can be dropped at any place where the pebble symbol matches the cursor.
- An object can also be dropped in a window that is compatible with it. 
- Multiple views can be combined together to make it easy browsing through the complex structure of the system. 
- This also makes it possible to follow the transformations such as re-naming, un-definition and re-definition that are applied to the features while inheriting.
- The diagram tool of the Eiffelstudio is the major helping hand in the creation of the applications that are robust, scalable and fast. 
- It helps you to model your application just the way you want. 
- It helps in capturing your requirements as well as thought processes. 
- The tools of the Eiffel studio make it sure that you don’t have to use separate tools to make changes in the architecture of the system while designing.



Monday, January 21, 2013

Explain FitNesse testing tool? What are principles of Fitnesse?


- FitNesse is an automated testing tool that has been developed to serve as a wiki and a web server for the development of software systems and applications. 
- This testing tool is entirely based up on the frame work for integrated testing that has been developed by Ward Cunningham. 
- It has been designed to support acceptance testing more than unit testing. 
- It comes with the feature of facilitating the description of the system functions in detail.
- With FitNesse testing tool, the users using a developed system can enter the input when it has been specially formatted i.e., non – programmers are able to access this format. 
- FitNesse tool interprets this input and automatically creates all the tests. 
- The system then execute these tests and returns the output to the users. 
- The main advantage of following this approach is that a very fast feedback can be obtained from the users. 
- Support in the form of classes called ‘fixtures’ is provided by the developer of the SUT i.e., system under testing. 
- The credit of writing the code for the fitNesse tool goes to Robert C. Martin and his colleagues in java language. 
- Since the program was developed in java, therefore initially it supported only java but now over the time it has got versions in a number of languages such as Python, C++, Delphi, ruby, C# and so on. 

Principles of FitNesse Testing Tool

This software works on certain principles which we shall discuss now:

FitNesse as a testing method: 
- Originally, it was designed as an interface using the fit frame work and it proved to be highly usable. 
- As such it is known to support the regression tests and black box acceptance tests in an agile style.
- This style of testing involves all the functional testers working in collaboration with the software developers in a software development project in an effort of developing a testing suite. 
- FitNesse testing revolves around the notion of black box testing.
- This involves considering the system to be a black box and testing it in the terms of the output that is automatically generated by the tool in accordance with the given inputs. 
- The responsibility of the functional tester is to design tests in a sense of functionality and expressing the same in the fitNesse tool. 
- On the other hand, the responsibility of the software developer is to connect the tool to the SUT so that tests can be executed and the actual output can be compared to the expected one. 
- The idea that drives this tool is forcing the functional testers and software developers to come up with a common language for an improved collaboration which will eventually lead to an improved mutual understanding of the SUT.

Fitnesse as a testing tool:
- Fitnesse defines the tests as inputs and outputs coupled together. 
- These inputs and outputs coupled together are expressed as variations of a decision table. 
- It supports a number of variations that range from tables that execute queries to tables for literal decision and to tables that express the testing scripts. 
- A free form table is the most generic variation that the designers can interpret in any way they like. 
- However, some sort of table is always used to express the tests. 
- The primary focus of FitNesse is on the easy creation of the tests, thus allowing the testers to maintain a high quality for the tests rather focusing on how the tests are to be executed. 
- Three factors are involved in the creation of the tests through fitNesse:
a)   Easy creation of the tables.
b)   Easy translation of the tables in to calls to SUT.
c)   Maintaining flexibility in the documentation of the tests. 


Tuesday, October 16, 2012

How Silk Test records user actions?


Software systems or applications as we all know are composed of a GUI or graphical user interface objects such as those mentioned below:
  1. Windows
  2. Menus
  3. Buttons and so on.
These GUI objects can be manipulated by the user via a mouse or a key board for initiating the operations on an application.
These GUI objects are interpreted by the silk test and are recognized in to different categories based up on the following aspects that uniquely identify them:
  1. Class
  2. Properties and
  3. Methods
While the testing is in progress, an interaction takes place among the silk test and the GUI objects so that the operations can be submitted to the application under testing or AUT automatically without much efforts and also because the actions of a user can be simulated. 
This is also done to verify the results of each and every operation. The silk test is said to be the simulated user which is then said to drive the application under test or AUT. 

The silk test comes with two distinct components namely:
  1. The silk test host software
  2. The silk test agent software
- The first component of the silk test i.e., the silk test host software is used for developing, editing, compiling, running and debugging of the test plans as well as the test scripts. 
- The machine on which this component is installed is called the host machine. - The latter component of the silk test i.e., the silk test agent is the one that interacts with the graphical user interface of the application under test. 
- The commands present in the 4test scripts of the application are translated in to GUI specific commands which help in driving and monitoring the application under test.
- It is possible to run the agent locally on the same machine on which the host is already running or else it can be run in a networked environment. 
- But in this case, the machine will be known as the remote machine. 

How the user actions are recorded by the silk test?

 
- A repository is created for storing the information regarding the application under test or AUT before the test scripts are created and executed. 
- This repository consists of the descriptions of the GUI objects that are responsible for compromising with your application under test. 
- The silk test associates with these objects by means of two things namely:
  1. Object properties and
  2. Object methods
- Using these two aspects the actions performed on the objects can be easily recognized by the silk test and can be intelligently recorded in to the test script using the 4test language. 

Below we are giving some examples of what is recorded by the silk test for some user actions:
-User action
  As recorded by the silk test
-Selection of a radio button from a group
  select
-Setting the main window as active
  Set Active
-Closing a dialog box
  close
-Selecting an item from a list box
  Select
-Scrolling the scroll bar to the maximum position possible
  Scroll to max
-Writing text in a text field
  Set text
-Checking a check box
  Check
-Picking a menu item
  pick
-Unchecking a check box
  uncheck

- A property is that characteristic of an object that can be accessed directly and may be common among some classes. 
- On the other hand, the methods constitute of the user actions and are particular to an object. 
- Methods that are particular to an object are inherited from the parent class of the object. 
- Methods are unique to the objects of a class. 


Thursday, October 11, 2012

What is 4Test in Silk Test?


4test in silk test is a fourth generation language or 4GL which comes under the category of the object oriented languages. This fourth generation language has been developed especially for fulfilling the needs of the quality assurance professionals. 
The 4test language possesses some very powerful features that have been grouped in to 3 basic kinds of functionality as described below:
  1. A library of object oriented classes: This group of functionality includes object oriented methods as well as classes that can be used to specify interaction of a test case with the GUI objects present in an application.
  2. A library of built in functions: This group of functionality includes features that are used for performing the common support tasks.
  3. A set of statements, data types and operators: This group of functionality includes the features that can be used for introducing the logic as well as the structure to a data base that has been recorded earlier.
- Before the test scripts are created and run, an object repository containing the information regarding the application under test or AUT is to be used by the silk test classic. 
- This object repository consists of the descriptions of all the GUI objects that are present in the application under test or AUT. 
- The actions that are performed by the silk test on these GUI objects are recognized by the silk test based up on some methods as well as properties associated with the objects on which the actions have been performed. 
- After the identification, the actions performed are recorded and stored in the object repository using the 4test language for scripting. 
- There are several classes that are used by the 4test language and have been mentioned below:
  1. Active X classes
  2. Visual basic classes
  3. General core classes
  4. General web application classes
  5. Flex class reference
  6. Java classes
  7. .net classes
  8. Rumba class reference
  9. SAP class reference
  10. Silver light class reference
  11. Java AWT class reference
  12. Java swing class reference
  13. Win 32 classes
  14. WPF class reference
  15. Xbrowser classes
The 4test language comes with the following in built functions:
  1. Agent information functions
  2. Argument pass modes functions
  3. Application state control functions
  4. Array manipulation functions
  5. Character and string conversion functions
  6. Data type manipulation functions
  7. Data base functions
  8. Data driven functions
  9. Date and time manipulation functions
  10. Distributed processing functions
  11. Distributed results logging functions
  12. Exception handling functions
  13. File manipulation functions
  14. Java functions
  15. List manipulation functions
  16. Locale functions
  17. Numeric functions
  18. Operation system calls
  19. Product version information functions
  20. Password encryption functions
  21. Random value operations
  22. Registry operations
  23. Results file operations
  24. Run time status messages functions
  25. Script information functions
  26. Semaphores
  27. Set manipulation functions
  28. String manipulation functions
  29. SWT functions
  30. Timers time date information
  31. Web browser functions
  32. Windows information functions
  33. Date transformation functions
The 4test language comes with the following categories of keywords:
  1. Arg list call keyword
  2. Current file keyword
  3. Current path keyword
  4. Type info keyword
  5. Alias keyword in type declarations
Following types of statements are found in 4test language:
  1. Access statement
  2. Break statement
  3. Const statement
  4. Continue statement
  5. Critical statement
  6. Exit statement
  7. Do___ except statement
  8. For statements
  9. If statement
  10. Multi tag statement
  11. Parent statement
  12. Parallel statement
  13. Raise statement
  14. Rendezvous statement
  15. Reraise statement
  16. Select statement
  17. Setting statement
  18. Spawn statement
  19. Switch statement
  20. Return statement
  21. Tag statement
  22. Use statement
  23. With statement
  24. While statement


What is a Silk Test Automation Tool? How Silk Test works?


In this article the focus is up on the silk test automation tool and the way it works. 


What is a SilkTest Automation Tool

- Silk test is test automation tool developed originally by the “segue software’. 
However, later on, this software firm was acquired by the “Borland” in the year of 2006. 
- Again, this Borland software firm was acquired by a third company by the name of “micro focus international” in the year of 2009. 
- This test automation tool was developed for the testing of the enterprise applications via the functional and regression testing methods. 

There are many different forms of silk test or we can say it provides the software world with many of its clients as described below:

  1. Silk test classic: This client of the silk test makes use of the domain specific language known as “4test” for scripting of the test automation scripts. This language just like the C++ language is an object oriented language. Just like C++ it also makes use of the Object Oriented concepts such as following:
a)   Inheritance
b)   Classes and
c)   objects
  1. Silk 4J: This client of the silk test enables one to follow test automation by using java as the scripting language in eclipse.
  2. Silk 4 net: This client of the silk test also enables one to follow test automation by using VBScript or sometimes using C# as the scripting language in the visual studio.
  3. Silk test work bench: This client of the silk test enables the testers to carry out the automation testing using VB.net as the scripting language as well as on a visual level.
The silk test automation comes with two major features which have been discussed below:

  1. Silk test agent: This feature of the silk test helps in translation of the script commands in to equivalent graphical user interface or GUI commands or we can even say in to user actions.The translated commands then can be run or executed on either the same machine or on a remote machine as a host.
  2. Silk test host: This feature takes hold of all the source script files.
- All the windows and controls of the AUT or application under test are identifiable with the silk test as objects. 
- Also, all the properties as well as attributes of each and every window can be defined by the silk test.
- Thus, we can say that the object oriented implementation is partially supported by the silk test. 
- The movements of the mouse as well as the key strokes can be identified by running the silk test automation tool. 
- This feature is particularly useful for the custom objects. 

The silk test can work for the following three programming methods that involve capturing of the dialogues:
  1. Record
  2. Play back and
  3. Descriptive programming
Many of the extensions are supported by the silk test and few of them are:
  1. .net
  2. Java swing
  3. Java swt
  4. DOM
  5. IE
  6. SAP windows GUI
  7. Firefox and so on.
- Bitview. Exe is the silk test bitmap tool that is used by the silk test for capturing as well as comparing the windows and areas.
- There are several file types that find their use in the silk test and have been mentioned below:
  1. Test plan (.pln)
  2. Test script (.t)
  3. Frame file (.inc)
  4. Result file (.res)
- According to a survey, the silk test provides the proper and right interface either IDE powered, script based or visual bases as it suits the role. 
- As a result, all the users are empowered to take participation in the testing process which ensures that there is a continuous validation of the critical applications. 


Tuesday, October 9, 2012

What is a Test Object Model in QTP?


Test object model is an important concept of quick test professional to be understood. In this article we have focused on the test object model of the quick test professional itself. 


What is a Test Object Model?

- The test object model is considered to be a large set of classes or objects of type class which are used by the quick test professional to represent the objects present in the software system or application.
- There is a list of properties associated with every class of the test object. 
Using the properties from this property list, the objects belonging to that particular class can be uniquely identified. 
- Also, the identification of a set of relevant methods that can be recorded for the object by the quick test professional can be easily identified. 

First let us clear up few terms associated with the test object model one by one:

1. Test object: 
This is the object that is created by the quick test professional in the test component or the test as a means of representation of the actual object present in the AUT or application under test. The information regarding the object is stored by the quick test professional since later it is required for many purposes like identification of the object and checking the working of the object during the run session.

    2. Run time object: 
   This object is the actual object present in the application under test. On this object only the various methods are performed while the identification process is in progress or we can say during the run session.
Whenever the user carries out an operation on an object in the application, the  following steps are taken by the quick test professional:
a)    Identification of the test object class of the quick test professional which is said to represent the object up on which the user performed the desired operation.
b)   Creation of appropriate test object based up on the identification in the previous step.
c)     Capturing of the current values of the properties of the objects residing in the application under test and preparing a list accordingly. This list is then saved along with the test object.
d)   Giving of a unique name to the test object up on the condition that it should reflect the value of one of the objects prominent properties.
e)    Recording of the operations that the user carried out on the test object by making use of the appropriate quick test professional test object method.

There are certain points about the test object model which are always helpful:
  1. Each and every test object method that is executed during the recording session forms a separate step in the recorded test. When the command for execution of the test is encountered, this recorded test object method is played up on the run time object.
  2. The source from where the properties of the object are captured is the object itself. These properties are important since there values are used for the identification of the run time objects while a run session is in progress.
  3. The properties of the objects have a tendency to change during the run session and so this would present some difficulty while matching the objects with the description. To avoid such a situation you have the option to make a manual modification of the test object properties while designing the test component during a run session. Some times even the regular expressions can be used as a substitute for the identification of the property values.
  4. The test object property values can be viewed as well as modified and stored through the object repository dialog box. 


Facebook activity