Subscribe by Email


Showing posts with label Compatibility. Show all posts
Showing posts with label Compatibility. Show all posts

Wednesday, July 18, 2012

What are the differences between testing WEB application and testing client-sever application?


Web application as we know are the kind of applications that can be accessed by one over a computer or internet or intranet network. Some of the web applications are also coded in to the web browser via web browser supported language like HTML or JavaScript. 

There are so many reasons that make web application quite famous with its users like:
  1. Because of web browsers’ ubiquity.
  2. Because web applications provide a means to use web browsers as a client that are usually termed as thin clients.
  3. Because they can be updated and maintained without having to disturb and install the software system or application on 1000s of client systems.
  4. And also because they support cross platform compatibility.
Now that we have discussed regarding the web applications, let us see what client server applications are! 

- A client server application is actually not an application rather it is a computing model that acts like a distributed application whose purpose is to partition the work loads or the tasks among the resource or service providers that are merely servers and clients (the service requester).
- The communication among the server and the client is established over a computer network and in most of the cases the servers as well as the client reside in the same system.  

In this article we are going to discuss the differences between testing the two types of the above mentioned applications. It is very necessary to test these applications since our personal as well as commercial needs are much dependent on these. 
First we will be talking about web application testing and then later regarding client server application testing so that the differences between the two will be clear to you! 

About Web Application Testing


- Web application testing is a combo of the following types of testings:
  1. Usability testing
  2. Compatibility testing
  3. Security testing
  4. Performance testing
  5. Interface testing and
  6. Functionality testing
- All these above mentioned tests make up a complete testing path for web applications. 
- These two types of testing i.e., the web application testing and testing client server application, differ on the basis of the environment in which they are carried out. 
- Testing a web application proves to be more difficult when compared to testing a web client server application and is quite complex too! This is so because the testers do not hold much control over the web application under question. 
- In web application testing, the application to be tested is loaded on a server whose location either or not may be known to the testers. 
- The .exe file is not installed on the client side and therefore it is to be tested on different web browsers. 
- Web applications are mostly tested for their compatibility with different OS platforms, error handling, back end testing, and load testing and static pages. 

About Client Server Testing


- Client server application testing is quite simple as compared to the web application testing and basically involves testing of two components.
- Here, like the web application testing is loaded on the server machine but unlike the web application testing, the exe file is installed on all the client machines. 
- The testing here is carried out broadly in categories mentioned below:
  1. GUI on both the sides.
  2. Functionality
  3. Client server interaction
  4. Functionality
  5. Back end testing and so on.
- The kind of environment that is used in client server application testing is pretty much like the one that is found in intranet networks. 
- The testing team knows all about the location of the servers in the test scenario. 


Wednesday, April 18, 2012

What is meant by debugging legacy code?

Debugging of the legacy code is an extremely important concept in the field of the software systems development. But, before we discuss about debugging the legacy code, we will first discuss about the legacy code.

Legacy code is not different from a normal source. It is also a type of source code that can be related to the following:
1. No longer supported manufactured operating system or,
2. No longer supported computer technology etc.

What is meant by Legacy Code


- Legacy code is also used in the modern versions of the operating systems and software applications wherever old features of the corresponding software applications are required to be included and maintained.

- Legacy code is required for giving support to serial interface even though the serial port is absent in many of the modern computer systems.

- It may also be needed to provide support to the older formats of the files like EBCDIC that requires encoding in the non- ASCII characters.

- This is a known fact and almost each and every one is familiar with it that most of source codes are dependent up on the platforms for which they have been designed.

- This fact proves that even if an environment or platform independent language is used, it is difficult to design, develop and execute a program that works independently of its environment and platform.

- It is also observed in some of the cases that whenever the platform for a software system, application or a program is changed (such as moving to a new operating system), the code present in the program does not work well without making appropriate changes to it and this is the code that is called the “legacy code”.

- In such situations alteration of the code becomes necessary and it is also a hectic task for the programmer or developer since this is required to prevent the code becoming a legacy code.

- The term legacy code also holds good for the source code that is not able to execute on a modern version of a software system, application or program and thus calls for a need of a compatibility layer to run.

- The best example for this would be a classic Macintosh application that runs in the classic environment but not in the Mac OS X.

Debugging of Legacy Code


- So many researchers have put forward their thoughts regarding the debugging of the legacy code.

- Legacy code has been interpreted as a source code without tests and reflecting its perspective of facing difficulty due to an absence of the automated regression tests.

- Michael feather defined some characterization tests for testing the legacy codes.

- Macro definitions of C and C++ languages have been defined as evil since they introduce subtle bugs and thus make the maintenance of the program difficult.

- One can face many difficulties in detecting the legacy code before the program crashes several times.

- When the external conditions are changed, it is required that the changes are also made accordingly.

- Since the environment is ever changing, one cannot expect the code to remain static as ever.

- The code also has to be evolved and replaced.

- Debugging is required for the legacy codes that are in production since this is the only way that can assure you that the changes you made to one part of the program are not affecting the other parts of the program.

- It is another problem that you might not be having sufficient budget and time to provide 100 percent coverage to the legacy code.

- But debugging of the legacy code produces robust code and speeds up the development process and also helps with a reduction of the risk of failure of the system.


Thursday, April 12, 2012

What are different features of smart phones?

Smart phones are now becoming a much in demand essential commodity for this third generation world. The demand for the smart phones has been increasing rapidly since the advent of much advanced and sophisticated technology.

One should be well versed with the current technologies in this tech savvy world and so we have this dedicated entirely to the discussion regarding smart phones.

Features of Smart Phones


- A smart phone is also like a mobile phone, but then what makes it different? Of course it’s so called smart features!

- A smart phone like any other phone is built up on a mobile computing platform but having more capabilities, abilities and connectivity when compared with their ordinary mobile counterparts.

- Today’s smart phones much like the earlier smart phones are incorporated with all the functions of a PDA (personal digital assistant), a camera as well as mobile phones or feature phones.

- But today’s technology has advanced so much so as to build smart phones that have functions of portable media players, pocket video cameras, compact digital cameras, GPS navigation units and so on incorporated in to them.

- The modern i.e., to say the recent smart phones come with more typical features like web browsers and super amoled touch screens which make the accessing of the web much easier than the ordinary feature phones on which only those web sites or pages can be viewed that have been optimized for the mobile phones.

- These smart phones are very much capable of displaying and accessing the standard web pages developed even with a very high resolution.

- Mobile broadband and wi- fi have also been incorporated in to these smart devices to provide them the ability of accessing data at high speeds.

- Many of the smart phones make use of the following operating systems:
1. iOS from Apple
2. Android from Google
3. Microsoft windows phones
4. Symbian from nokia
5. RIMS’s blackberry OS
6. Embedded Linux like MeeGo and Maemo etc

- The smart phones are designed in such a way that any OS can be installed on different models as well as one device is capable of receiving updates of more than one OS software all during its life time.

Difference between Feature phones and Smart phones


- Till now no official definition has been given regarding the difference between the feature phones and the smart phones.

- But, one point of significance is that the advance APIs or application programming interfaces for smart phones can run the third party applications with better integration with the operating system of the phone and its hardware.

- This much integration is not seen in ordinary feature phones.

- The feature phones in contrast to the smart phones make use of the proprietary firmware.

- A third party support is provided to these phones through platforms like BREW or Java ME and so on.

Features of first Smart Phone


- The first smart phone that was introduced was the IBM simon which was introduced in the year 1992. It had the following features:

1. Address book
2. Calendar
3. World clock
4. Note pad
5. Calculator
6. E- mail client
7. Fax and email features
8. Games

- It made use of a touch screen and stylus like modern smart phones.

- It lacked the ability to download third party applications as well as camera.

- However, that phone was highly sophisticated when compared to the other devices of that time.

Features of Nokia Communicator


- After that the nokia introduced its first smart phone range called “Nokia Communicator” releasing Nokia 9000 first in the range.

- The phone in this series had a clam shell like design with a QWERTY keyboard and a display with high resolution of 640 x 200 mega pixels.

- The screen sizes for the smart phones lie between 2 to 4 inches when measured diagonally.

- Some even come with a screen size of 5 inches but, this some what reduces the usability of the phone.


Friday, March 16, 2012

What are three main purposes of software testing?

It is a world wide established fact that the software testing has proved all the way very effective in improving the satisfaction of the clients and customers by delivering them a software product that is quite free of defects, errors and bugs.

Only the stable, error free and reliable software systems and applications are accepted in to the business. There is no place for the unstable and buggy software systems.

WHAT HAPPENS IF TESTING IS NOT DONE PROPERLY?


- There is a substantial increase in the chances of the failure of a software system or application if it is not tested or tested only up to a small extent.

- This in turn increases the rates of wastage of time as well as one’s precious efforts.

- The rework and rewrites and their maintenance cost the organization so much and also annoys the customers and clients.

- If a software system fails, it only gives an indication towards the inadequacy of the efficiency of the system and a lack of testing.

- The failure of the software systems or applications can cost too much in certain cases where very sensitive and critical matters are dependent on the working of the software.

- Software testing has been scientifically defined as a process that deals with the verification and validation of the software system or application.

- It ensures whether or not the system meets all the requirements specifications that have been used all along its development cycle to guide its designing and makes sure that the software system or application is working as expected by the makers.

THREE MAIN PURPOSES OF SOFTWARE TESTING


Three main purposes of the software testing have been laid down as mentioned below:

1. Verification
This purpose deals with the verification of the development process of the software system or application and ensures that the software is being developed or built in the right way.

2. Validation
This is all about making sure that the right software artefact is being produced.

3. Defect finding verification
This is for the purpose of ensuring that the software system or application that is being built, meets the technical specifications and requirements stated for it by the customer or the clients. It also checks out for the variation of the defect range between the actual outcome and the expected outcome.

BENEFITS OF SOFTWARE TESTING


- Software testing has very well taken up the responsibility for ensuring that the software system or application meets the business requirements as specified for it and thus whether or not works as expected.

- The compatibility of the software system or application with a range of different platforms is also evaluated and the performance rating is given.

- Whether the software system or application should be released or not, is determined on the basis of the results of the software testing.

- Software testing has a whole lot of benefits, the greatest ones being the saving of the time and efforts which are indeed very priceless commodities.

- Defects, bugs and errors if detected earlier eat up less time and money and reduce development time and also if the application or system is kept error free in the beginning itself, then less problems will be faced in the future development phases.

Software failures as mentioned above can give rise to life threatening issues to the:

- People (for example, control system failure resulting in a plane crash, life support system failure in hospitals causing deaths)

- Environment (for example, a software failure causes the harmful radiations and chemicals to be released in to the environment and thus affecting the whole eco system)

- Companies (for example, some times the software might do the bill incorrectly due to some discrepancy in it causing the company a great money loss) and so on.


Thursday, March 1, 2012

What are different control flow defects?

Flow of control is the dynamic aspect of any program. Whenever there is a flow of control in a program, the program is said to be active or responsive. The execution of a software program, system or application depends pretty much on the flow of control and data. Flow of control is needed to maintain data links between the different components of the software system or application.

The control flow makes use of some predefined special codes. These codes are transmitted via a band over the communications channel preferably primary. These codes are of 2 types namely:


1. XON: it stands for “transmit on” and
2. XOFF: it stands for “transmit off”.

Because of these two codes, the flow of control is sometimes referred to as the “XON/ XOFF control flow”.

NOTE : Flow of control in a software system or application is totally different from the flow of control in the hardware system. Like any other process, the flow of control also experiences some defects.

MECHANISM OF CONTROL FLOW
In order to understand these defects it is necessary that you understand the mechanism of this process.
- One of the ends of the data link sends the code XON to the other end if this end is ready to intake data.
- If this end is not able to receive data it sends off the XOFF code to the other end.
- The other on getting this code immediately stops the data transmission and resumes once again when the other end is ready to accept the data and sends a XON code.

DIFFERENT CONTROL FLOW DEFECTS
- The ends of the data links sometimes become unresponsive to the intake or transmission of data.
- These kinds of problems are an indication of the defects in data linkage.

To make you understand the control flow defects let us see a detailed example:

- Say you connect your computer to printer whose performance speed is relatively slow when compared to the speed of the computer.
- When you want to take out a print, the computer starts by sending the data to be printed to the printer.
- Since the speed of the printer is slower than the computer, it lags behind i.e., it is unable to handle the incoming volume of data from the computer.

- Ultimately it reaches a stage where it memory is overflowing with the data.
- Now what the printer will do in such a situation? It sends a XOFF code to the computer to stop this data transmission.
- It again sends a XON code to the computer once it has received the whole previously transmitted data and is ready to receive the data again.
- XON and XOFF have a specialty that they can be used by the data links in both the directions.
- In some cases it happens that the data links are not able to employ these codes from either direction.
- This is again a defect in the control flow.
- The flow control is usually used for devices having old technology i.e., the devices which are not compatible with the modern software.
- The devices are unable to accept any more incoming data because their output rate is limited.

REMOVAL OF DEFECTS
- Removal of defects in the flow of control is very necessary.
- It is important since the flow of control is very crucial for the well execution of the software system or application.
- Tests should be undertaken to identify these defects.
- Once the defects have been identified, they should be assigned priority on the basis of the severity they can cause.
- The defects should be validated and resolves as soon as possible.


Wednesday, February 29, 2012

What are different compatibility and intersystem defects?

WHAT IS MEANT BY SOFTWARE COMPATIBILITY?

- Software compatibility is usually described as the compatibility of a software system or application to run without any problems on any major platform.
- It means that the software system or application is compatible with the major platforms and CPU architectures such as Intel or mercury etc.
- It also refers to the compatibility of a software system with different operating systems.
- It is very difficult to develop software that is compatible with many CPU architectures since during the compilation of such a system it shows different errors for the different CPU architectures.
- But such compatible application software do exist.
- The applications are developed and compiled for the various CPU architectures and these are then made compatible to with the various different CPU architectures via the operating systems.

WHAT IS INTERPRETED SOFTWARE?
- In contrast to the compiled software, the interpreted software does not show the above drawback.
- They are very well capable of running on multiple CPU architectures.
- But here one condition has to be fulfilled i.e., the interpreter should be available for that particular type of the CPU architecture.

Software incompatibility is more frequent among the newer software versions developed for the new versions of the operating system which is found to be incompatible with the older version of that software system or application version due to a lack of some features and functionalities.

The newer versions of a software system or application that are able to work with the older versions of the operating systems are said to possess the capability of the backward compatibility.

Compatibility testing is usually carried out to test the operational environment of a software application or program. The software system or application is checked for its suitability i.e., whether or not the application will be able to perform in that environment or not.

DIFFERENT COMPATIBILITY & INTER-SYSTEM DEFECTS
Defects affecting the compatibility of a software system or application are commonly called as compatibility and inter-system defects. These are:

DEFECT #1:
After completing the installation of the application software, the user executes that application and observes that he/she is not able to access some features and functionalities and also not able to view any pictures images, icons or data.

DEFECT #2:
Some browsers may show java script errors with applications developed in java language.

DEFECT #3:
Inconsistency is observed in some elements of a web application or a web site when viewed through different browsers.

DEFECT #4:
The software program is observed to behave differently on different browsers.

DEFECT #5:
Inter-system defects like corruption of data in an NFS mounted file. Usually data is not corrupted in an NFS system.

DEFECT #6:
- In some cases, an unauthorized user is very well able to access the control to a system which uses the LDAP methodology for the authentication purpose.
- This inter-system defect is common in ensemble, UNIX clients and VMS employing LDAP authentication system, windows clients and cache file versions.

DEFECT #7:
- Encryption of data base in VMS clusters.
- In such a defect the system usually becomes inactive and does not respond.
- Like the above mentioned defect, this defect also exists in ensemble versions. - This defect usually occurs when the data base is forced to shut down without the cache being closed.

DEFECT #8:
Failure of cluster mounted data bases.

DEFECT #9:
- Defect making the application server unresponsive.
- This defect is usually encountered when there is too much ECP traffic on the application or web site.
- This defect can affect all platforms.

DEFECT #10:
- Memory defects like core dumps which are generated during the start up of the cache.
- Because of this defect in some cases the start up can fail completely.

DEFECT #11:
Speed reduction in cache making it unresponsive. This defect occurs mainly when the amount of shared memory exceeds a specified limit.


Friday, February 3, 2012

What are different cross browser testing tools?

Cross browser testing as we all know forms an essential part of cross browser testing. Today there many tools available in the web market which are able to carry out effective cross browser testing.

Cross browser testing tools present us a virtual method to check how our web site performs on the various different browsers available today and whether or not it functions properly?

Using cross browser testing tool you can easily check how your website looks on different browsers by working form just one system. Depending on the cross browser compatibility of a web site, it behaves differently with different browsers.

If you were to test yourself that how your web site behaves on different browsers, it will consume a lot of your time and effort. Then why not go for automated web browser testing tools? They are a great time saver and very reliable to work with.

Many cross browser testing tools are available like:
- Browser shots
- Browser lab
- Browsera
- Super preview
- Browser box
- Luna scape
- Selenium remote control
- IE tester
- Sauce labs
- Xenocode browser sandbox
- Cross browser testing.com
- Browscramp
- Litmus
- Net renderer

You can test your web sites using these cross browser testing tools and these cross browser testing tools test your web sites and applications on all the latest versions of the available web browsers.

SOME ASPECTS OF CROSS BROWSER TESTING TOOLS
- Some testing tools allow you to debug and test scripts of your web sites like CSS, AJAX, flash, HTML and JavaScript etc. allows you to explore the browser features and compatibility.

- Some of the available cross browser testing tools provides readymade test cases, so there is no need to waste time in setting up your test cases. You can straightaway start testing your web site.

- This will actually cut down the testing time and you will be able to spend the saved time by focussing upon the other aspects of your web sites that need to be improved.

- These cross browser testing tools are fast and you get the results in minutes.

- Some browser tools offer remote VNC sessions.

- They provide live browser tests so you have the ease of testing your web site from anywhere.

- You just have to provide the testing tool with the URL of your web site and select the browser for which you want to check your web site and hit run. That’s it! You will get instant results.

- Some of the cross browser testing tools provide a way to test the compatibility of the functionality and features of the web site across a variety of web browsers.

- After all it is necessary to test web site's features and functionalities rather than only look.

Lot of web designers are struggling with the problem of cross browser compatibility. Most of the cross browser testing tools offer services free of charge and are quite reliable and also easy to operate.

- To use some cross browser testing web site you may need to connect to their web site via a VNC client or you can use an applet.

- Once connected, you can fully test your web site interactively using their system.

- Few cross browser testing tools are windows program like IEtester.

- Such a tool allows you to test only the versions of internet explorer and not more than that.

- Some cross browser testing tools though offering excellent services, charge you a fee. The fee does not sounds too much if you look towards the positive side i.e., to the excellent and in depth testing options that they offer.


Thursday, February 2, 2012

What are different aspects of Cross Browser Testing?

Cross browser can be defined as the ability of a web page, web site or web application to run easily on all the browsers i.e., the web site, web page or application should have a good browser compatibility.

Many people confuse between cross browser compatibility and multiple browser compatibility.

Multiple browser compatibility is the ability of a web site, web page or application to execute efficiently on many browsers simultaneously. If a web site, web page, or application is having good browser compatibility, it is able to run on all browsers and without any loss of performance.

Maintenance of standards of performance is essentially necessary. All the browsers are then able to render that particular web site or application.

1. Cross browser testing is a no new methodology and has been in use since the web development started.
2. But, nowadays cross browser testing is used rarely since the modern versions of the browsers already have built in support for scripts like CSS 1 and HTML and so the browsers do not require any kind of proprietary extensions to attain the quality of cross browsing.
3. Another reason is that nowadays DOM manipulation methodologies which are way more compatible than cross browser compatibility testing are being used for the development of client side scripts.
4. The main browsers that a web page, site, application or a script needs to support include the following:

- Internet explorer
- Netscape
- Mozilla Firefox
- Google chrome
- Safari and
- Opera

These days only a little of cross browser support is demanded. The emphasis is on improving compatibility. The World Wide Web consortium introduced in 1997 a browser scripting language called “ECMA script” which was supposed to improve the cross browser compatibility of the browsers. It was after this only that the W3C started working up on DOM techniques.

1. Cross browser testing forms an essential part of web testing or when application testing, so it needs to be focused up on.
2. There are several testing tools available in the market today to carry out automated cross browser testing.
3. There are so many web browsers available today, and so the end users are not using the same browser.
4. A variety of browsers are in user which calls a need for testing of web sites and applications.
5. This need can be fulfilled by cross browser testing.
6. Client components like applets, flex, flash programs, AJAX and java scripts may behave differently when accessed through different browsers.
7. Also for every browsers hands end user’s request in a way that is different from the other.
8. Web developers need to make sure that the web sites and applications they are making are compatible with all the browsers and deliver exactly the same performance on any browser.
9. Testing a website or application for a single browser is of course not beneficial.
10. Cross browser testing involves testing of web sites or applications on both the sides i.e., client side and server side.

There are following kinds of engines:
- Gecko is used in Mozilla Firefox browser.
- KHTML is used by conqueror web browser.
- Presto is developed by opera and is used for opera browser.
- Trident or MSHTML is used for Microsoft developed browser “internet explorer”.
- Web kit is used for Google chrome and safari. It supports other browsers also.

Layout engines play a very important role in cross browser testing. They are basic entity that needs to be tested when you want to improve the cross browser compatibility. A layout engine is a web component that takes web contents and formatting instructions as input and displays the formatted content on the web page.


Tuesday, January 31, 2012

What are different aspects of International Organization for Standardization (ISO)?

ISO is the short form of International Organization for Standardization. The international organization for standardization is well known for the development and publication of the standards pertaining to the international standard.

- The organizations itself constitutes many national networks from across the world.
- It is reported to have 163 countries in its network with one representative from each country.
- The office of the central secretariat of the organization is located in the city of Geneva in Switzerland.
- The purpose of the secretariat is to regulate the coordination in the system.
- It is a private organization and works with both public and private sector organizations. It is a non governmental organization.
- Most of its member organizations are either government organizations of their respective countries or are funded by the government.
- Other member organizations are private and are run in cooperation with the industry associates.
- We can say that ISO lays down a consensus that provides solutions which serves needs of both the business and society.
- The short form “ISO” was taken from Greek word “isos” which means “equal”.

Standards make a good impact on our life and they raise standards of our living too.Standards are very much needed to ensure characteristics like:


- environmental compatibility
- safety
- quality
- reliability
- economical cost
- interchangeability and
- efficiency


We never tend to notice the standard till the services and products are up to our expectations. We notice the importance of standards only when the services are not of the expected level. The products and services are said to work well and efficiently when they meet the standards set for them.

The international organization of standards is responsible for maintaining such standards all over the world.

International organization of the standards serves the following purposes:
1.It makes the manufacturing and development of services and products efficient, better than the previous and safe.
2.It aims at continually improving the marketing standards.
3.It takes are of the supply of services and products to the consumers.
4.It aims at developing a fair trading strategy between different nations of the world.
5.It lays down a basis for products and services for safety and health and environmental legislation.
6.It is responsible for carrying out the conformity assessment.
7.It shares new technological methodologies and management practices with its member organizations to lead innovation ahead.
8.It acts as a safeguard for the consumers of the services and products.
9.It provides solutions for many problems of standardization.

SOME MORE FACTS
- ISO till now has developed and maintained around 18,500 standards on an international level.
- Apart from these 18,500 standards, every year some 1000 new standards are being developed and published.
- The information about all these standards is available on the official website international organization of standards.
- The information center of ISO is operated by ISO itself in coordination with the international electro- technical commission (IEC).
- The ISO/ IEC information center has been developed to provide information regarding matters of standardization to its members and other stake holders.
- All the policies and strategies of the international organization of standards are jointly endorsed by the major governing bodies of ISO itself.
- The policies and strategies that have been serve as a guideline for all the members of the international organization of standards and its secretariat.

The 163 members of the ISO network are divided in to 3 categories which are:

- Member bodies
- Subscriber members
- Correspondent members


Monday, January 9, 2012

What is the difference between web site and web application testing?

Before discussing the main topic i.e., the differences between website test and web application testing, we should know the difference between the two basic terms i.e., web site and web application.

What is a Website?
- A website can be defined as the collection of web pages that contain videos, text, images and other related digital assets.

- A website is generally hosted on a web server and is accessible via an internet connection or network address called “uniform resource locator” or URL.

What is a Web Page and Web Application?
- A web page can be defined as a document usually written in a plane text formatted with the formatting instructions of the HTML (hyper text mark up language) or XHTML (eXtensible hyper text mark up language) language.

- Suitable mark up anchors can be used to incorporate elements from other websites in to a web page.

- HTTP (hyper text transfer protocol) is used to access and transport the web pages.

- The web pages may employ HTTP secure (HTTPS) to provide extra privacy and security for the person who is going to use that web page content.

- The content of the web page content is rendered on to the display by the web browser according to the HTML instructions of the web page.

- A web page can be easily accessed through its URL usually called its home page.

- The URLs organize the web pages in an appropriate hierarchy order and the hyper links on the pages provide the site structure to the user and guide the user towards the right navigation link.

Now let’s describe web application in contrast to the web site.
- A web application can be defined as an application that is accessed through a network like intranet or internet only.

- It can also refer to a software application that has been coded in a language like java script that supports browsers and it is combined with HTML.

- The application is executable through a web browser.

- The ubiquity of the web browsers is what makes the web applications so popular among the users.

- It also provides the convenience of using a web browser as a thin client. They exhibit cross platform compatibility.

- Some common web applications are online retail sales, wikis and web mail.

- A large world wide audience of a web application or web site, its quality and reliability prove to be a crucial factor for the success of a web application or web site.

- Similarly, the characteristics and behavior of the web applications and web sites pose many challenges during their testing.

- Web site testing and web application testing invariably vary in their methodologies of testing.

- These needs are met by tools that meet these specific needs.

- A web application is a bit difficult to test as compared to web site since in a web application test the tester does not has much control over the web application.

- The application is first loaded on to a server (the location of the server might be known or unknown) and then it is installed on the client’s server and tested.

- The application is tested on various web browsers as well as on different operating systems for browser compatibility, OS compatibility, static pages, error testing, load testing and back end testing.

- Like any other the web site testing forms an essential part of building a successful web site.

- Web site testing involves validation of CSS and HTML code.

- There are two ways of validating the HTML code. First is by URL of the web page and secondly by uploading from the computer itself.

- It also involves testing of all the links on the web site to ensure that they are working properly.

- The web site should well exhibit the cross browser compatibility. Other factors that contribute to the success of a web site are speed of the web page and download time.


Saturday, December 31, 2011

What are different aspects of web testing?

The term “web testing” defines itself well. So, web testing can be defined as a kind of software testing aimed at testing the web applications. Its entire focus is up on web applications. A complete testing of web applications is required before they go live because this helps in addressing the issues of the application well.

The following issues are generally addressed in a typical web testing:
- Security of web applications.
- Basic functionality of the site under testing.
- Accessibility to the users who are handicapped as well as those who are fully able.
- Readiness for handling the expected traffic.
- Readiness for handling the expected number of users.
- Ability to survive a massive spike in user traffic.

A web testing tool called “web application performance tool” or WAPT (as it is abbreviated) is used to test the web related interfaces and applications. These web applications testing tools are used extensively for load testing, stress testing and performance testing of web applications, web servers, web sites and other web related interfaces.

The web application performance tool in a way simulates virtual users which will repeat either specified URLs or recorded URLs. It allows users to specify or mention the number of times the virtual users will have to repeat either specified URLs or repeated URLs. This measure makes it easy for the web application performance tools to check for the performance leakage in the web application or the web site being tested.

Though the web application performance tools face various challenges during testing, they should be able to check for the following aspects:

- Compatibility of operating system with the web application or the web site.
- Compatibility of the browser with the web application or the web site and web server.
- Compatibility with windows application wherever required during the back-end testing.

Web application performance tools allow the users to specify how the virtual users are equally involved in the whole testing process as well as in testing environment.
There are following 3 types of user loads:
- Increasing user load:
In this type of user load the number of virtual users is increased from 0 to 100 step by step. It is called RAMP.
- Constant user load:
In this type of user load the number of users is kept constant or maintained i.e., a specific number of users only can use the application.
- Periodic user load:
In this type of user load the number of users is increased and decreased from time to time.

Web security testing is another aspect of web testing which determines whether the web based application requirements are met or not when the web applications or web sites are subjected to malicious data input. The user interface of web applications can be tested by using frame works that provide a tool box for testing web applications. Nowadays some open source web testing tools are also available. Few of them are:
- HTTP test tool: This tool is scriptable protocol test tool and is used to test HTTP protocol based products.
- Apache J meter: It’s a tool programmed in java for performance measurement and load testing.

There are some windows based web testing tools available these days. The tester should first develop a web testing check list before carrying out the web testing. The check list should include the following:

- Usability testing: Tests how the users use the page, and other controls.
- Functionality testing: Tests links in web pages, database connections, and forms used in web pages.
- Interface testing: tests web server and application server interface.
- Compatibility testing: tests compatibility of browser, OS, mobile and printer.
- Security testing: tests the security of the web server and applications.
- Performance testing: includes web load testing and web stress testing.


Sunday, December 11, 2011

What are different characteristics of compatibility testing?

First let us clear up with the concept of compatibility.

Compatibility of a software system or an application or any hardware system or components can be defined as the ability of that software system or hardware component to work efficiently with all the versions either newer or older of all CPU architecture designs and operating systems.

- Compatibility is one of the most important properties of any software system or application and hardware system.
- Not every where, every one uses the same CPU architecture designs and operating systems.
- Therefore, it becomes necessary to make software and hardware compatible will all sorts of systems available.
- Otherwise, the software or the hardware will remain confined to only one CPU architecture and operating system.
- There will be no benefit to the software and hardware developers who developed that software or hardware.

In other words, the software or the hardware product or artifact get promotion and hence it would not be widely accepted.
Keeping in view all these issues, care is taken to provide maximum compatibility to the software or the hardware system. Before its release to the open public, the software or the hardware product needs to undergo testing for determining its compatibility.
Such testing is called compatibility testing.

- Compatibility is categorized under non functional testings.
- Compatibility testing can be defined as the testing that is conducted on the software application or the hardware component to determine the concerned product’s compatibility with the computing technological environment.

A proper computing technological environment contains all of the below mentioned aspects:

- Bandwidth handling capacity: the environment should be able to handle bandwidth of the networking software and hardware.
- It should have a computing capacity of hardware platform like HP 9000 and IBM 360 etc.
- It should be compatible with all kinds of peripherals. In other words, it should have compatibility of peripherals. Peripherals include DVD drive, printers, monitors, speakers and so on.
- It should be compatible with all operating systems including UNIX, MVS, windows and so on.
- It should support all types of data bases like oracle, DB2, Sybase etc.
- It should be well compatible with other software systems like messaging tools, networking systems and web servers.
- It should be browser compatible. It should support all the available browsers till date like Netscape, internet explorer, Firefox, Google chrome, safari etc.

The above aspects together make up a proper and efficient computing environment to carry out compatibility testing for the software and hardware products.

Compatibility testing comprises many other small testings like peripheral compatibility testing, browser compatibility testing etc. browser compatibility testing is also known as user experience testing.
It involves the checking of web and network applications on all the available different browsers.

It is done to ensure the following:
- The application under testing should respond exactly in the same way with all the different browsers. It should exhibit same features and functionalities when run under different browsers.
- The visual experience for the users must be the same irrespective through which browser they are using the web application.
- The applications should be backwards compatible i.e., it should work with the older versions of the browser as well.
- The applications should be carrier compatible i.e., data transformation should be same no matter which carrier is being used. Some famous carriers include orange, sprint, Verizon, Airtel, O2 etc.
- Apart from software compatibility, the application should be hardware compatible.
- The applications should be compiler compatible i.e., there should be no difference in compilation by different compilers. All the compilers should compile the source code correctly.
- The applications should be able to run on emulators.


Friday, December 9, 2011

How lack of compatibility causes software failure?

A software system or application is said to be compatible if it is able to execute efficiently on all the models available in that particular family of the gadget of computers. Different types of computers vary less or more in different aspects like reliability, resilience, performance and so on. These differences or variations affect the execution of the software system. Also the outcome or the result of the program is affected.

- Software compatibility can be defined as the compatibility that particular software system, application or program has when it runs on a particular CPU or central processing unit architecture.

For example, Intel, Pentium, power PC etc. software compatibility is not only confined to different kinds of computers.

- It extends over a vast area.
- Software compatibility can also be defined as the ability of a software system, application or program to run on different operating systems.
- It happens very rarely that a fully compiled software system or application is able to run on many different CPU architectures.
- Usually a software system or application is developed and compiled for various different CPU architectures as well as operating systems to allow the software system to be compatible with the different kinds of operating and CPU systems.
- In contrast to compiled software system or applications, interpreted software, can easily run on many different operating systems and CPU architectures.
- But, this can happen only if the interpreter is available for that particular CPU architecture or the operating system as the case may be.

Software incompatibility is quite common with fresh releases of any software system or application and generally occurs quite a many times for the new software system released for a newer version of CPU architecture or an operating system which is quite incompatible with the older version of that particular CPU architecture or operating system.


- This is because the software system or application might be lacking some of the features and functionalities required to make it compatible with the wanted CPU architecture or operating system.
- There’s another concept that comes into scenario of the compatibility of software called “backward compatibility”.
- The software systems and applications which are able to work with the older versions of CPU architecture or operating systems are said to be backward compatible.

Apart from software compatibility we also have hardware compatibility.
- It can be defined as the compatibility of the hardware components of a computer system which has a particular CPU architecture, operating system and other things like bus; mother board etc. compatible hardware doesn’t necessarily gives its optimum performance as stated.
Best example is given by RAM chips.

- Hardware can be compatible only with those operating systems for which kernel drivers and devices are available. For example, hardware components for Mac Os do not work with Linux operating system.
- Compatibility is essential and useful but it is very difficult to keep the extraneous features and functionalities with the software and the hardware system for a very long term and that too just for the sake of compatibility.

- Compatibility is the ability of the software system or device to work with another system or device.
- Compatibility is concerned with various degrees of partnership among the software and hardware components of a system.
- Two devices or programs are said to be compatible if they respond to the software and hardware commands exactly in the same way.
- Some components achieve compatibility by making the software system believe that they are some different machines.
- Such a process is called emulation. It’s important to note that the hardware compatibility not always considers expansion slots.


Facebook activity