Web applications, A Primer
Web applications are at work, for example, when a customer fills out a response form on a Web site. Digital Vision EA designs and develops customer web applications that are client optimized and developed as per their specific requirements.
Many companies now rely on Web applications as effective points of contact with customers, partners, and employees, and as a means to help reduce costs internally.Some companies even use their web applications as a core competency in their strategy.
Web applications architecture is a three tier model The first tier includes the web browser or the user interface and is referred as client. The web pages forms the client layer which helps user interact with the system. The second layer constitutes the dynamic content generation tools like PHP, JSP or ASP.
The web application sends a request for a page, the request is then processed by the second layer which in turn request the database and retrieves the data or requested pages and the second layer elements sends the respond back to client in form of HTML pages.
Pros of Web apps
- Simple to install and deploy
- The fact that it runs from server side and accessed from browsers mean almost any machine can access a web application – no disk space requirements
- Regular upgrades to source code implies that its easier to update a web application easily
Obviously, web application does have some drawbacks.
- Security: If some malicious code is installed in the web application server, the error will be server to all the clients(browsers and users)
- If a company decides to close down, they may shut off a very useful application which may contain alot of data
Testing Web applications
Before deploying web applications, the developers have to test and ensure that the system is bug free. This can be done using browser testing tools, automated testing tools or even real users.
You can review a summary of web application testing tools and methodologies to learn more
The web application testing process has to be linked to the developed software and business objectives.
- Develop business metrics. What exactly are you measuring?
- Clarify testing requirements Clearly define the test objectives. Specify what will be reported.
- How will the test be run? Describe exactly how the test defined below should be run.
- Ensure to get client and vendor buy in, otherwise trying to test an application without the two parties agreeing will be a charade!
- Decide how to do the testing: This may include outsourcing to software testers, getting eventual users to test, training inhouse users to test and even doing a combination of the above.
Its also important to automate the testing process if possible and document results – while taking into consideration the test data.
Types of web application testing
When undertaking web application testing, its also important to define what kind of testing will be undertaken. Below are some of the tests:
- Load testing: This tests and validates how many users the application can handle at a time. IThe testing will generate or simulate website traffic to review if it can withstand a certain number of visitors.You can use CDN to speed up your site and improve load speeds and also optmize your code
- Functional testing: Is the application just a beautiful item to look at or does it provide the required user functionality?
- Browser Compatibility : Does the web application work with all browsers?
- Usability testing: How easy or difficult is it for a user to accomplish a certain task , which is provided in the system functionality? measures the ease with which a user can accomplish predefined tasks.
- Stress testing will help determine the system’s breaking point based on predefined failure criteria.
Nowadays, web applicaitons need to be accessible from mobile devices, hence its important to use tools and technologies that will enable that transition or allow you to create responsive designs. Some of the tools we use include:
- CSS 3 for design
- Foundation Framework
The above tools enabled us to come up with responsive web applications(accessible from both mobile and web devices).
Additionally, we also create mobile applications where responsive design will not be useful enough. Further to this, you want to make your website visible on the internet so we make websites that are well optimized for search engine indexing