CJ Technologies Inc. has so much to offer that we must request you orient your device to portrait or find a larger screen. You won't be disappointed.













Welcome

Agile
Quality
Assurance

Having development and QA go their separate ways in order to interpret the requirement can create a lot of waste in the form of repetitive requirement clarification (Relearning). The two interpretations of the requirements are then matched up when the code is tested. Any misinterpretations can cause delays or may be missed all together. A dysfunctional relationship can develop between development and QA by ‘completing’ dev tasks with known bugs with the expectation that an opportunity to fix those bugs will be granted in the future. These bugs are much more costly if we wait for QA to find them, and even more costly if they slip by QA.
An agile practice is to first agree on the acceptance criteria before test and before development. These failing tests are what drive development by providing a clear objective: make the test pass. This also limits the amount of extra-features inserted into development since there is no test that requires it.

Acceptance Criteria

For developers, it is a ‘to-do’ list For customers, it is an expectation list For testers, it is the tests For project managers, it is their agreements with developers that a task is complete

Acceptance Tests

For all features, think about S.A.F.E scenarios when writing acceptance tests: Success: What needs to happen to ensure success of the feature? Advance: What needs to happen in order to move the feature along toward success? Fail: What predictable scenarios may happen that are adverse to the user’s goal? Error: What errors may happen based on user input or any other factors that are out of the control of the system?

Role of Agile QA:

  • Home
  • Help define stories
  • Ensure stories are testable
  • Add stories related to non-functional requirements ( usability, performance etc)
  • Organize non-functional testing
  • Help define acceptance criteria for stories before they are completed
  • Verify the completion of stories as they are completed
  • Encourage and/or help developers write good unit tests
  • Increase code coverage by adding more automated tests
  • Perform exploratory testing on early builds