Software Development & Testing

Things to think about while developing and testing different software functionality. Primarily focusing on web applications.


General Design

  • Does the page/component adapt to different screen sizes?
    • Mobile phone
    • Tablet
    • Desktop monitor
    • Smart watch (if applicable)


View Lists/Grids/Calendars

  • Listing
    • If no results are returned, show a message.
    • If a massive number of results are returned, paginate the results.
  • Extended information (drill down) or action controls on each result
  • Filtering/Searching
  • Sorting
  • Pagination
    • Allow the user to select the number of results to return in a page.
  • Drilling Down


View a Single List Item



Forms: Edit a Single List Item



Forms: Bulk Edit a List of Items





Rendering data
– HTML encode (stop execution of injected scripts)

# Forms over Data Application
– List
– View
– Add
– Edit
– Delete
– Search, sort, filter

# General
– technical error screens in production
– attention to detail.

# Design
– Think like a user. Friendly error and message screen.

# Login & User management
– username (optional)
– email
– password
– salt and hash and algorithm
– Forgot password
– unknown username or password.

# Basic security
– sanatise and validate user input
– buffer overflow
– SQLi

# Dashboard

– Color blind/accessibility
– text alignment
– spacing
– spelling