Database Testing Checklist

Database Testing

  • 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.
  • Others

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.

Procedure tests

  • 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.

Data checking

  • Create Data from frontend and check by Query
  • Delete Data from frontend and check by Query

Mobile Testing Checklist

Platform

  • 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?

Device-Specific Features

  • 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

User Experenice

User Experience

  • 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 Testing

  • 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

Security Testing

  • 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

Performance 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

Feedback Feature

  • Check ‘Contact Us’ feature
  • Check help guide available
  • Check legal feature available (Such as ‘Term and condition’ and ‘Privacy Policy’)

How to setup selenium WebDriver with Nunit and Visual Studio (C#)

Selenium is an open source software tools which supporting tests automation. Now days, Software automation tools are becoming popular. Software automation tools are a time efficient. You will find different kinds of software automation tools, such as Load Runner, QTP, MS Test Manager, Jmeter etc. Selenium webdriver is a one of them. It is most popular automation tools.

 

Today, I am going to discussed about how to run selenium WebDriver with Nunit and Visual Studio (C#)

 

  • Download Nunit (http://www.nunit.org) and install in your system
  • Download selenium web-driver (http://docs.seleniumhq.org/download)
  • Open a new project and Create a Class Library
  • Add reference webdriver dll (selenium-dotnet-2.35.0 > net40) and nunit dll (Where you installed).

Webdriver dll

Nunit Dll

Or you can add Nunit dll from assemblies > Extension

  • When all of this is done and you can start write a code

Point 1:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using NUnit.Framework;

using OpenQA.Selenium;

using OpenQA.Selenium.Firefox;

using OpenQA.Selenium.Internal;

using OpenQA.Selenium.Support.UI;

 

Point 2:

namespace Automation

{
[TestFixture]
public class framework
{
private IWebDriver driver;
[SetUp]

public void LoadDriver()
{
Console.WriteLine("Check SetUp");
driver = new FirefoxDriver();
// To Maximise browser
 driver.Manage().Window.Maximize();
}

[Test]
public void Login()
{
driver.Navigate().GoToUrl("http://localhost/nopcommerce/login");
Console.WriteLine("Check URL");

// Type UserName
driver.FindElement(By.Id("Email")).SendKeys("admin@yourStore.com");

// Type Password
driver.FindElement(By.Id("Password")).SendKeys("admin");

// Clicked on Login Button
driver.FindElement(By.CssSelector("input.button-1.login-button")).Click();
}

[TearDown]
public void UnloadDriver()
{
Console.WriteLine("TearDown");
driver.Quit();
}
}
}

Above marked area. Just described how you will get id from login page

  • Build your application or press (Ctrl + Shift + B)
  • You have to run Nunit window to run this code.
  • Now, open a project from file menu and choose the project dll file or you can drag and drop the dll.
  • Click on ‘Run’ button to define result pass / fail