There are more connected devices than ever before as IoT (Internet of Things) technology is gaining traction. IoT testing is conducted to test IoT technology based devices. The various types of testing for IoT systems are as follows:
Usability Testing – To test the usability of an IoT system
Compatibility Testing – To check the compatibility of devices in IoT system
Reliability & Scalability Testing – Simulation of sensors utilizing virtualization tools
Data Integrity Testing – To validate the integrity of data
Security testing – To validate the user authentication process and data privacy controls
Performance Testing – To test the performance of the connected devices in an IoT network
- Synchronization between the database and the values displayed in our client/web.
- Query results, views, stored procedures, indexers Etc.
- Data manipulation (Update, Delete, insert Etc.).
- Database performance.
- Data maintenance.
- Table’s structure.
- Data recovery.
- Data integrity.
Clean database testing
- Verify clean database testing.
- Input 1st data
Database system-level tests
- Validate the DB behavior of any case of service failures (recovery, error handling Etc.).
- Validate that all indexes are created when it can increase the system performance.
- Validate that appropriate events are created ad sent to the EventVwr/trace log.
- Validate that DB tables are created with informative and reasonable names.
- Try to work when the storage is ‘0’ and the e database is in running state.
- Perform your tests on different versions (SQL 2005, 2008, 2012 etc.).
- Validate the software security model (User roles, permissions etc.).
- Validate the connection strings against SQL/Win authentications.
- Validate data migrations (Different Database, Cluster, etc.).
- Validate the behavior of the system against SQL injections.
- Validate date to DB when the server is loaded.
- Try to work when the database server is down.
- Try to work with difference instance.
- Validate restore and backup plans.
Database Integration Testing
- Check that all columns are set with the relevant data type (Bigint, int, string Etc.)
- Check that all data is logically organized in the relevant DB tables.
- Check that each data item is located under the relevant column.
- Is there any irrelevant data in the software dedicated tables?
- Check that each table contains the relevant data.
- Try to insert invalid database values.
- Verify the data encryption (if any).
Data field tests
- Validate that “Allow Null” condition is not allowed in a place that result a software failure.
- Validate that all tables are created with logical structure (Primary, foreign keys.)
- Validate that “Allow Null” condition is set when you need to allow it.
- Validate that mandatory fields are created, this issue is very important when you work with multiple tables that depends on each other.
- Validate that the data the affected by the procedure is changed as expected.
- Validate that all procedures are triggered when they supposed to run.
- Validate that all the conditions receive an appropriate date inputs.
- Validate that all procedures are created with the relevant code.
- Is there an appropriate error handling for a failed procedure?
- Validate that all the loops receive an appropriate date inputs.
- Validate the procedure’s parameters (types, names, etc.).
- Test the SP while executing the code manually.
- Validate important code with SQL profiler.
- Validate that all procedures names
- Run tests with missing parameters.
Database and software integration (Client, web Etc.)
- Validate that the user data is saved when the user “Apply” or “Submit” the changes.
- Try to insert “NULL” values on fields that doesn’t supposed to receive it.
- Validate that the user receives the current result when pulling data.
- Validate that transaction the data type boundaries (Minima Etc.)
- Validate that empty spaces are not committed to the database.
- Validate that the values displayed based on the database data.
- Try to insert UNICODE on Unicode character strings.
- Try to insert values that exceed the field boundaries.
- Validate that transactions the negative data values.
- Insert invalid date format on Date and time fields.
- Validate that the data integrity is not affected when the “Apply” or “Submit transactions are failing during the process.
- Validate that the “Roll Back” option is available when the DB transaction is failed in the middle.
- Create Data from frontend and check by Query
- Delete Data from frontend and check by Query
- Check OS depend on test
- Check many OS’s we will support (Android / iOS / Windows Phone)?
- What mobile / tablet device will be used?
- What mobile / tablet screen size (Inch: 10 / 8)?
- What will be happened if OS updated?
- Content – Text size, Content adjustment, Responsive design
- UI- Touchscreen gestures- swipe, zoom, pinch, multi-touch, shake
- Pre-install software (Such as for export or import file)?
- Check if battery down
- Check making/Receiving voice calls while the app is running
- Check memory utilise overflow
- Check resuming App from the same point as left at the time of switching to another app
- Check data will be saved (SD card / internal memory)
- Check happened if memory (SD card / internal memory) full and try to export
- Check in portrait / landscape mode?
- Check application for empty / large database
- Check screen off / screen saver off.
- What are difference real device and emulator?
- Check minimise app while loading shows
Connectivity and Network Issues
- Check data connection will be used (Mobile operator / wifi)
- Check if data connection loss while saving data
- Check if data connection slow while saving data
- Check both connection are open; Now, lost wifi connection what will be happen; Vice versa
- Check both connection are open; Now, slow wifi connection what will be happen; Vice versa
- Check shows error message if connection failed
- Check app bandwidth consumption
- Check app logo
- Check menu logo
- Check list page are searchable
- Check list page are sortable
- Check list page are filterable
- Check screen resolution?
- Check how many columns will display in list / details page?
- Check able to export from list page?
- Check able to print from list/ details page?
- Check able to create design custom forms details page?
- Check able to fill up fields in details page?
- Check able to click button in list /details page?
- Check navigation across different screen
- Check responsiveness of the App Logo and Name
- Check easy navigation across different screens
- Check responsiveness of drop down lists
- Check prompt display of errors and warning messages
- Check spelling, typo and grammar in all kind of messages and labels
- Check inactive buttons and active buttons
- Check date format or date picker
- Check amount with rounding figure
- Check currency format
- Check text field format
- Check number key pad when number text field
- Check auto save available
- Check delete feature
- Check Custom name feature or behaviour
- Check sent email from on screen
- Check description field enough space to enter data
- Check easy way to ‘collapse or expand’ all data
- Check all select feature in list page
- Check user profile settings
- Check notification feature available (Such as if new project add, delete or modified notification)
- Check app version
- Data Sync issue (If data added from mobile app but not showing in web app. Vice versa)
- API testing
- Check image / document upload and limitation
- Check document / image view feature
- Check list page data count shows or not
- Check server down time
- Check xero/ other third party software data sync (if applicable)
- Check CRUD operation
- Check concurrency message
- Check will data save offline mode
- Check data create/update/delete in offline but what will be happened when its in online
- Check previous data access cache
- Check login credential attach with mobile fingerprint
- Check ‘Remmber me’ feature in login
- Check app sign out / Sign in feature
- Check cache clear and run application again
- Check user logged in but inactive / locked from admin
- Check non admin user logged in what data s/he can access
- Check customer’s data security
- Check customer payment data security
- Check network protocols security for running application
- Check user security policy
- Check one user can see another user data or information
- Check antivirus related issue
- Check time taken to launch the application
- Check application performance at times of peak load conditions and continual key pad entry
- Check splash performance check and ensuring it remains on screen for less than 1~2 seconds
- Check application performance in low device battery and charging conditions
- Check Integration with the device and other applications without hampering performance
- Check application install/uninstall successfully within the desired timeframe
- Check displaying error messages and exits gracefully at times of low memory issues
- Check app performance at the time of a Network problem and error alert prompts
- Check application performance when the Network is back in action
- Check memory Consumption
- Check hardware Utilisation
- Check app behaviour if app crashed
- Check device performance
- Check server performance
- Check network performance
- Check Install or update app feature
- Check OS based app limitation
- Check ‘Contact Us’ feature
- Check help guide available