Subscribe by Email


Showing posts with label Embedded. Show all posts
Showing posts with label Embedded. Show all posts

Sunday, February 26, 2012

What are application testing tools?

It requires some tools to carry out application testing and such testing tools are called application testing tools. Application testing tools are divided in the following sub categories:

1.Source test tools
2.Functional test tools
3.Performance test tools
4.Java test tools
5.Embedded test tools
6.Data base test tools

NEED OF APPLICATION TESTING TOOLS
- All the application softwares need to be tested before they are released to the consumers.
- For application testing either specific or particular testing tools can be used or a combination of various types of testing tools can also be used.
- Testing tools are employed to aid the tester in finding the bugs, errors or loop holes in the software system or application.
- Discovering bugs and errors at the early phases of development can avoid potential troubles.
- The bugs and errors should be resolved as soon as possible after discovering them.
- Testing can be made more effective by using proper testing tools.

TYPES OF APPLICATION TESTING TOOLS
Now let us see what all types of tools are available for application testing.

1. Source Test Tools
Tools falling under this category are used for finding bugs and errors in the source code of the application software’s program. Few popular source test tools are:

(a) Ada test: Effective for dynamic testing for applications written in Ada.
(b) AQ time: This tool tests the applications based on the languages like Visual C++, Intel C++, and visual Fortran etc. It comes with many memory usage pro-filers.
(c) CMT++: This tool is used for static testing of the application software having C or C++ as its source code language.
(d) Code Wizard: This tool has been specially designed for analyzing the applications written in C++ language.

2. Functional Test Tools
These type of tools are required to test both the functional as well as non functional requirements of the application:

(a).TEST: It is a typical unit testing tool and is used for testing classes that are based up on the .NET framework.
(b) AETG Web: This tool is very useful when it comes to the generation of the test cases. This tool has proved to be very efficient.
(c) Aberro Test: This is a typical interface testing tool. It can also be used for the verification of the requirements.
(d) Avignon Acceptance testing system
This tool basically makes use of XML language to define the language syntax and is used for writing test cases in the language of your choice.
(e) Automated test designer
This tool creates test cases based on the functional requirements of the application.

3. Performance Test Tools
As the name suggests, these tools are used for testing the performance level of the application softwares:
(a) App loader: This tool is used to carry out functional testing as well as load testing. it simulates the usage of the application. This tool is completely independent of the protocol.
(b) Bug timer: This tool is used basically for the documentation purpose of all the bugs and errors found during the performance testing of the application.
(c) Load runner: It is a load testing tool designed basically for the integrated web applications.

4. Java Test Tools
These tools test applications powered by java.
(a) Abbot: This tool tests java based GUIs.
(b) Agile test: It is used for unit testing in java applications.

5. Embedded Test Tools
These tools are used to test the application software components that are embedded in the code:
(a) Message magic: It is used for testing the subsystems.
(b) Tbrun: It is an automatic testing tool used for C, C++ etc.

6.Data Base Tools
It is used for testing data base of the application softwares:
(a) AETG: It is used to generate test cases.
(b) Data generator: It is used for generating input test data.


Saturday, February 26, 2011

How to design conventional components - Program Design Language and Comparison of Design Notation

Conventional component level design requires the representation of data structures, interfaces, and algorithms for a program module. The designer uses one of a number of design notations that represent component level detail in either graphical, tabular, or text based formats.

PROGRAM DESIGN LANGUAGE
Program design language is also called pseudo code. In this, vocabulary of one language and overall syntax of another language is used. Program design language(PDL) is used as a generic reference for a design language.
The difference between a PDL and a real programming language lies in the use of narrative text embedded directly within PDL statements.
- PDL cannot be complied.
- Tools can translate PDL into a programming language.
- These tools also produce nesting maps, design operation index, cross reference tables and other information.
- PDL may be simple transposition of a language.
- Basic PDL syntax should include constructs for component definition, interface description, data declaration, block structuring, condition and repetition constructs.
- PDL can be extended to include keywords for multitasking, interrupt handling, interprocess synchronization.

COMPARISON OF DESIGN NOTATION
- Design notation leads to procedural representation which is easy to understand and review.
- Design notation should enhance "code to" ability.
- Design representation must be easily maintainable so that design always represents the program correctly.
- PDL offers the best combination of characteristics.
- However, it does not follow that other design notations are inferior.
- Activity diagrams and flowcharts provides a perspective on control flow that many designers prefer.


Monday, June 28, 2010

How are testing tools categorized ? - Part II

Embedded Software Testing Tools :
It is a very challenging task to test embedded software as the timing requirements for these applications are very stringent. The code has to be optimized so that it occupies the minimum memory. IBM Rational Test Real Time is the widely used test tool in this category.
Network Protocol Testing Tools :
Testing networking and communication software has attained a lot of importance in recent years as computer networks are becoming widespread. There are number of tools available for testing networking and communication protocols. ANVL(Automated Network Validation Library) is to test routers and other networking products. Agilent Technologies, Rhode and Schwartz etc supply protocol analyzers which generate the necessary protocols based on international standards such as ITU-T standards.
Configuration Management/Bug Tracking Tools
Configuration Management is a very important process. When test engineers report bugs, the managers have to track these bugs and ensure that all the bugs are removed. Bugzilla is an open source defect tracking system. Samba's Jitterbug is a freeware defect tracking system. IBM Rational Software's Clear DDTS is a change request management software. GNU's GNATS is a freeware bug tracking and change management software.
Software Testing Management Tools
These tools help in managing process oriented software testing. Using these tools, the QA manager can create a formal test plan, allocate resources, schedule unattended testing, track the status etc. AutoTester's AutoAdviser, Compuware's QA Director are such tools.


Saturday, December 15, 2007

Characteristics Of Embedded Systems

Embedded computing systems generally exhibit rich functionality—complex functionality is usually the reason for introducing CPUs into the design. However, they also exhibit many non-functional requirements that make the task especially challenging:

• Real-time deadlines that will cause system failure if not met;
• Multi-rate operation
• In many cases, low power consumption
• Low manufacturing cost, which often means limited code size.
• Must be efficient
• Energy efficient
• Code-size efficient (especially for systems on a chip)
• Run-time efficient
• Weight efficient
• Cost efficient
• Dedicated towards a certain application
Knowledge about behavior at design time can be used to minimize resources and to maximize robustness
• Dedicated user interface (no mouse, keyboard and screen)
• Hybrid systems (analog + digital parts).


What is an embedded system ?

An embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is specifically designed for a particular kind of application device. Industrial machines, automobiles, medical equipment, cameras, household appliances, airplanes, vending machines, and toys as well as the more obvious cellular phone and PDA are among the myriad possible hosts of an embedded system. Embedded systems that are programmable are provided with a programming interface.

Another definition: Any electronic system that uses a CPU chip, but that is not a general-purpose workstation, desktop or laptop computer. Such systems generally use microprocessors, or they may use custom-designed chips or both. In embedded systems, the software typically resides in firmware, such as a flash memory or ROM chip, in contrast to a general-purpose computer that loads its programs into RAM each time. Sometimes, single board and rack mounted general-purpose computers are called "embedded computers" if used to control a single printer, drill press or other such device.

A third definition: Hardware and software which forms a component of some larger system and which is expected to function without human intervention. A typical embedded system consists of a single-board {microcomputer} with software in {ROM}, which starts running some special purpose {application program} as soon as it is turned on and will not stop until it is turned off (if ever). An embedded system may include some kind of {operating system} but often it will be simple enough to be written as a single program. It will not usually have any of the normal {peripheral}s such as a keyboard, monitor, serial connections, mass storage, etc. or any kind of user interface software unless these are required by the overall system of which it is a part.


Facebook activity