Software testing

MANUAL TESTING

Our software testers follow the software during the entire software development cycle to minimize risks and costs. They are trained to work in teams and to always be in contact with customers on one side and developers on the other side following the process:

PARTICIPATION IN THE DEVELOPMENT CYCLE

  • Review of specification documents, attending team meetings, proposals of new functionality improvements
  • Interactive testing of functionality before Code Complete
  • Preparing live net-meeting demonstrations of the new functionality, specifying testing areas with respect to possible interactions with other domains
  • Preparing and attending Bug Bashes

INTERACTIVE TESTING

  • Testing of functionality using self-created or customers’ datasets
  • Key options/variants specification
  • Testing of functionality using key options/variants
  • Validation on various operating systems with various regional settings and personalization
  • Testing of UI, min/max values, allowed/denied values, warnings, error-messages, various document & application option settings

DEFECTS TREATMENT

  • Specifying clear, simple steps to reproduce a defect, looking for duplicates
  • Assigning a priority to a defect – severity, is/isnt it a regression, is/isn’t it a customer workflow
  • In case of customer defect search for possible workarounds
  • Defect fix validation

COMMUNICATION WITH CUSTOMERS

  • Responses to customer issues, explaining usability issues, looking for workarounds
  • Logging wishes to the functionality improvements based on customer subscriptions

AUTOMATED TESTING

Large software projects require automated testing of regressions caused by common development process. Our developers develop tools for integration, running and validating automation tests.
After each build, our triage team reviews regressions caught by automated testing. The triage team analyses these failures, finds the code submissions which caused the failure and works with developers to fix them.
Secondary output of triage is ability to catch build breaks and assign work on them to the responsible developer

SOFTWARE PREPARATION FOR AUTOMATED TESTING

  • Proposal of solutions specific for tested software
  • Cooperating with software developers to adapt the code for automated testing ability
  • Alternative usage of product API for automated testing
  • Development of testing tools specific for tested software

RECORDING OF AUTOMATED TESTS

  • Creation of testing matrix, which describes all options/variants of new features
  • Creation of test documents, which describe what needs to be tested by automated tests
  • Creation of automated tests based on test documents
  • Maintenance of the automation tests database

BUILDING

  • Incremental compiling of each source-code change
  • Identifying build breaks
  • Solving build breaks directly or together with the responsible developer

AUTOMATED TESTING

  • Running of automation tests
  • Validation of test failures
  • Group failures by symptoms and culprit change
  • Find the change in source-code which caused the failure
  • Contact the developer who caused the failure