Articles

Types of Computer software

PDF Print E-mail
Written by Dean Barnard   
Saturday, 06 October 2007
Software is the language of a computer. And like human language, there are many different computer languages. Essentially, computer software can be divided into three main groups depending on their use and application. These are system software or operating system referred simply as the OS, application software and programming languages. Usually most of us interact with a computer using application software.

1. System Software: System software or operating system is the software used by the computer to translate inputs from various sources into a language which a machine can understand. Basically, the OS coordinates the different hardware components of a computer. There are many OS in the market. The most popular Os are from the stable of Microsoft. We have all heard, used and wondered at the Windows software, which is an OS. Starting with Windows, Microsoft has migrated to Vista, its latest offering in the market.  It may come as a surprise to some that there are other operating systems used by others. Among these UNIX is used for large office setups with extensive networking. XENIX is software which has now become redundant. HP -UX and AIX are some operating systems used by HP computers. Apache OS is quite popular with web servers. IBM still uses proprietary operating systems for its main frames. Proprietary systems are generally built with the help of a variant of UNIX operating system.

2. Application software: A normal user rarely gets to see the operating system or to work with it. But all of us are familiar with application software which we must use to interact with a computer. Popular examples of application software are the Microsoft office suite which includes Word, Excel and PowerPoint. We have used these applications extensively. Internet explorer, Mozilla Firefox is two applications used to access the internet. E-mail software like Outlook express is used to manage Emails. It is obvious that all software utilized for working on a computer is classified as application software. In fact all user interfaces are an application. The anti-virus is an application and so is the Media player.

3. Programming languages: Now this is a kind of computer software which is used exclusively by computer programmers. Unless we are also programmers, we are unlikely to come across programming languages. A simple way to understand programming languages is to think of them as bricks which can be used to create applications and operating system. C++, Java and Simlab are some popular programming languages. Generally Java is used for internet applications. C++ is a language of professional developers and used extensively in developing operating systems. PHP is another language used for internet applications. There is a new class of languages which are being utilized for the mobiles. These are light weight, modular languages which are used to design mobile applications.

Be first to comment this article | Add as favourites (32) | Quote this article on your site | Views: 635 | Read more...

 

The Importance of Software Testing

PDF Print E-mail
Written by Choudhury   
Monday, 08 October 2007

Software testing plays a critical and important process in quality assurance. Failed software not only results in wasted time, unsatisfied customers and a bad name for the company but also unnecessary costs, which is why it is important to plan and test software in many levels over. Brand and company name are not just a part of what is at stake during, or lack of, software testing. It is a big risk that companies take when they release a product to the market, as people expect that you only release a product when it is fully functional. This performs a domino effect on profit, as if brand and credibility are down, so is profit. Customers will always remember the quality associated with the brand or product, so software testing is a necessary investment.   

Not only is the testing process itself important, but also the design of the systems. Programmers must ensure that testing procedures and software are already in place prior to testing, because inaccurate testing methods can result in even more costs and time delays.  The software testing methods should include both hardware and software devices.  

Software testing is also costly, as this entails the use of specialized systems designed for the different processes of testing, but it is better to invest in good testing rather than suffer the consequences later. The costs are undoubtedly larger if errors are found at the later stages of producing software rather than in the earlier stages, so it pays to dedicate time and effort to software testing. The overall goal of software testing is to provide customers with quality software that is bug and error free.  

Software testing can only be accurate if it is checked through all aspects and levels of testing. Each level of testing is designed so that programmers or developers can find bugs or errors from even small units to the entire integration of the system, and so that this can be corrected. The results are compared to strict guidelines, which must be met and a mediocre attitude will only backfire on the company. 

Be first to comment this article | Add as favourites (33) | Quote this article on your site | Views: 514 | Read more...

Last Updated ( Monday, 08 October 2007 )
 

For a Perfect Software Release

PDF Print E-mail
Written by Choudhury   
Friday, 05 October 2007

Computer software refers to the term used to express a compilation of computer procedures, documentation and programs to perform a particular task on the computer. It also consists of application software like word processors, system software and many others. The term software testing means a verification of the quality software being released. Completeness, security, and correctness are a few things on the basis of which software testing is judged. There are many other technical requirements that software has to undergo during this process which are mentioned under standard ISO 9126. These requirements include maintainability, usability, efficiency, capability, reliability, portability and compatibility.

It is important for software to go through this process of software testing to ensure that it perform all the functions that are expected from it correctly. This is necessary to combat the increasing competition and prove the worth of one’s software when compared with other software. One most important feature that your software must have before it is released to public, is that it should be completely equipped to evade the viruses, hacking, cracking and other such threats from the outside sources. So, security test in the process is very essential.

Software should then go through a proper cycle of software testing from the stage of alpha to beta, by verification and validation testing methods. Once this is done, there is a process of unit testing. That is to say, each software unit is tested individually for assurance that they perform their functions properly. After this, all this I put together and again tested to see if they continue to work properly as a single entity. At this time, it is essential for software to go through these integration tests because it may be possible that the units may work correctly individually, but as a single unit it might not perform in the same way. Infact, if any problem is detected and then corrected, it should again undergo a regression test to assure that any other problem may not crop out the next time.  Performance testing and functional testing are some other tests that are done. Usability and compatibility are the things that should also be tested before the software is released. Stress and load ability are the things that also need to be tested in the software because even though your software is performing the right function for which it has been designed, if it works slowly, it won’t be of much help. 

Be first to comment this article | Add as favourites (27) | Quote this article on your site | Views: 275 | Read more...

Last Updated ( Friday, 05 October 2007 )
 

The Practical Organization of Automated Testing

PDF Print E-mail
Written by Herbert M. Isenberg Ph.D.   
Saturday, 08 September 2007
Abstract

The purpose of this paper is to take a practical approach to automated software testing and explain reqirements for its success. To be successful one needs remember that there are four interrelated components that have to work together and support one another: 1) An automated software testing system based on one point maintenance and reusable modules, 2) Testing infrastructure consisting of the events, tasks and processes that immediately support automated, as well as manual, software testing,

3) Software testing life cycle that defines a set of phases outlining what testing activities to do and when to do them, and 4) Corporate support for repeatable processes. These components are discussed from the point of view of the author’s many years experience as a senior software test automation engineer and QA Architect working in a variety of software development environments.


Introduction

The purpose of this paper is to explain how to succeed in automated software testing. To be successful one must remember that there are several interrelated components that have to work together and support one another.

This paper will lay out what these necessary components are and their interrelationships. The emphasis here is on what is practical, what is useful, and what works in the author’s experience.

Automation is not an island unto itself. It requires a solid testing infrastructure and a thoughtful software testing life cycle that are both supported and valued by the corporate culture.

To begin, there is the automated testing system itself. It must be designed to support reusable module and one point maintenance. It must be very flexible and easy to update.

The testing infrastructure includes a dedicated test lab, a good bug tracking system, standard test case format, and comprehensive test plans.

The software testing life cycle defines when tasks associated with automation occur in relation to the overall software testing effort that is mostly manual.

A company can make great strides using test automation. The important benefits include, higher test coverage levels, greater reliability, shorted test cycles, ability to do multi user testing at no extra cost, all resulting in increased levels of confidence in the software.

The good news is that when automated testing is introduced each of these components does not need to be in place. Pieces can be introduced gradually into the culture. What is important is the commitment to automation and an understanding of where automation can take a company.

Automation success is a very practical business. The remainder of this paper is dedicated to resolving two recurrent issues confronted by those involved in automated software testing:

  1. How does one design and implement an effective automated software testing system in a Rapid Application Development environment where the interfaces (windows/controls) are continually changing and the data/content is continually being revised and modified ?
  2. Why does automated software testing fail in most corporations?

Issue 1

The issue of "How to build a useful automated software testing system in a constantly change RAD environment…" , is resolved by designing the automated testing system with a set of Architecture Principles based on a Structured Methodology for building 1) Reusable modules and 2) One point system maintenance.

One of the most useful outcomes of this approach is the ability of the automated testing system to change as easily and quickly as the software under test. From a corporate point of view, this is one of the key measures of success for automated testing, (and rightly so).

For purposes of brevity, the development of an automated software testing design under the methodology of the architectural principles noted above, will be referred to as a Practical Automated Testing System or PATS.

Be first to comment this article | Add as favourites (21) | Quote this article on your site | Views: 216 | Read more...

Last Updated ( Wednesday, 10 October 2007 )
 
<< Start < Prev 1 2 3 Next > End >>

Results 17 - 22 of 22