Week 6
As I described earlier web frameworks can be amazing, but regardless if you are using one or building a website or web app from scratch. There are a few places to start. After reading a few websites the options are pretty obvious, and from experience designing and building many websites these obvious points will still come to haunt you if you are not thorough. Trust me its the little things!
Lets start from the Obvious to less so:
- Website routes/links
- Ensure they all work properly and no dead links exist
- Input form testing
- Valid input
- Invalid input and validation handling
- Ensure your CRUD functions properly
- Secure/Authenticated Route
- Ensure you can not access routes that require login
- Ensure users can not manipulate the url to gain access to other information than what they are give
- This can include cookie testing for logged in sessions
- Cookie testing
- It is important to ensure your cookies are properly encrypted
- This can contain data that the user or yourself as a developer would not want exposed
- In Depth Interface testing
- This can include anything from usability to the look and feel
- Is it intuitive? Could a user use this without prior knowledge? Too complex or want a feature Explain it to your user!
- Many apps now have neat and sleek introduction walkthroughs to guide a user through the new interface
- Web compatibility!
- Honestly this one should be first! I can not stress enough how unsightly it is to use a unsupported browser and to have a completely different user experience or just have some functionality not work.
- Image Links in chrome do not show borders, underlines, or history color changes, yet IE does?
- I know what you are thinking IE is just horrible. YES that it is but you need to ensure your site not only preforms properly but looks great
Website links may seem like a given yet it could be easy to forget a simple link that could cost you. For example for a friends business venture I for the first week forgot to have the logo redirect you to the home page, yet this is an almost expected feature at this point yet if you are a sole developer its easy to miss.
Input testing is a must, time and time again developers talk about elegant and flexible applications. Allowing invalid input is just unacceptable and should be handled properly for any production application. Not only should you prevent this you must inform the user of what is allowed or why the input was not accepted and what should they change it to. Using a framework such as laravel makes validation a breeze and really leaves no excuse for anything less. The next main point for input forms is your CRUD functionality, does your database handle when a user is connected to many aspects of your design and deletes themselves, this is when you need to ask yourself is this data important for others or can I cascade on delete. And more importantly does it properly cascade throughout your relationships? This is something that could become a big headache for both you and your users.
Authentication is something I will briefly mention, it should be known that a user should not have access to data they are not associated with or have the ability to access pages without being a validated user.
Cookies are a resource to not be taken lightly, some users don’t allow them and therefore does this make them unable to use important aspects of your application? It shouldn’t. Cookies can hold vital data such as remember tokens that store login sessions and if in the wrong hands can compromise your users data or more.
Testing your interface is important not only for debugging but it can and will also expose cumbersome tasks that could be minimized or eliminated by adding a interface feature.
I don’t think I should need to say much about Web compatibility. A clunky and inconsistent application is not intuitive for users and can be confusing or just ugly. With web design ensuring your web interface looks and feels great or at minimum the same will carry a lot of weight for you and your users.
Now get out there and start perfecting that application your work so hard on!
. Resources:
http://www.softwaretestinghelp.com/web-application-testing/
https://www.tutorialspoint.com/software_testing_dictionary/web_application_testing.htm
From the blog CS443 – Triforce Code| Exploring and Learning by CS443 – Triforce Code| Exploring and Learning and used with permission of the author. All other rights reserved by the author.