Test & Simulation

Test & Simulation

Can-Technologies has a proven methodology for complete test of applications build or integrated by our developers. The following diagram illustrates the relationship of understanding the requirements with coding and testing.


We practice four (4) level of testing which is:

  • Unit Testing
  • Integration Testing
  • System Testing
  • Acceptance Testing

Regardless of size of project, a simulation program is developed, a simulator is built, test cases are written and following tests are performed. Both Hardware and Software will be integrated into the simulation program used to simulate the complete process. The following tests are performed on the hardware and software to detect issues with the components, application, connectivity or integration of the system. This will ensure not only a smooth on site start up but can also be used for training and if required support purposes.



Unit Testing

Unit Testing is a method where the developer gains confidence that individual units of the system perform as per specification. A unit is the smallest testable part of an application. The primary goal of unit testing is to take the smallest piece of testable element in the application, isolate it from the remainder of the application, and determine whether it behaves exactly as you expect. Finding any possible development error in the integrated module is much more complicated than first isolating the units, testing each, then integrating them and testing the whole.

At Can-Technologies, each unit is tested separately based on our test plans before integrating them into modules. Unit testing has proven its value in that a large percentage of defects are identified during this process.

Integration Testing

Integration Testing is the testing process that individual modules are combined and tested as a group. Integration testing takes as its input, modules that have been unit tested, groups them in larger aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its output, the integrated system ready for system testing.

The purpose of integration testing is to verify functional, performance and reliability requirements placed on major design items. These "design items" are exercised through their interfaces using Black box testing, success and error cases being simulated via appropriate parameter and data inputs.

At Can-Technologies, our developers perform Integration testing based on our developed test plans in order to identify problems that occur when units are combined.

System Testing

System Testing of software and/or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. System testing falls within the scope of black box testing, and as such, should require no knowledge of the inner design of the code or logic however it requires full knowledge of the system functionality.

System testing takes, as its input, all of the "integrated" software components that have successfully passed integration testing and also the software system itself integrated with any applicable hardware system(s). The purpose of integration testing is to detect any inconsistencies between the software units that are integrated together or integrated with hardware.

At Can-Technologies, system testing is performed on the entire system in the context of a Functional Requirement Specification(s) (FRS) and/or a System Requirement Specification (SRS). This is our developers’ belief that system testing is an investigatory testing phase, where the focus is to have almost a destructive attitude and tests not only the design, but also the behaviour and even the believed expectations of the customer. It is our intention to test up to and beyond the bounds defined in the software/hardware requirements specification(s).

Acceptance Testing

Acceptance Testing is a formal test conducted to determine whether or not a system satisfies its acceptance criteria and to enable the customer to determine whether or not to accept the system.

Acceptance Testing is a high level testing procedure which ensures that an application behaves as expected by the client.

At Can-technologies, we practice Acceptance Testing since:

  • It captures the expectations of the client and not only the developers
  • It measures when functionality valued by the client is complete
  • It identifies system behaviour which sometimes deviates from the expected
  • Like any good set of tests it minimizes the risk.
"Providing Quality Services & Attention to Our Customer Needs."