|
|
||||||||
Recommended System Testing Process |
||||||||
|
|
||||||||
| Lets start by defining the term 'process'. Process is nothing but a set a activities that represent the way work is to be performed , simply put its a specific way of doing certain thing, in our context it is developing a software product. | ||||||||
| The
following is the team structure needed to implement the process
Feature Owners: This team interacts directly with the customers. They gather requirements, group them into features and a single person in the team may 'own' one or more features. They take the initiative, interact with different teams and provide direction, in developing this feature. UI Team: User Interface is very important for any product.No matter how many good features a product has, if the UI sucks, then the product is doomed.So we have separate UI team, that does a lot of research in UI and knows the difference between a good UI and bad one, they specialize in designing UI for any product. |
||||||||
| This
team will design the UI for our product or features of the product. Feature
owners will sit with UI team to get the UI for their features.They basically
will come up with some sort of 'Page designs' or some mockups'.These mockups
contains all the UI elements that should be present in that page,along with
the look and feel, the navigation between pages should also be working.
Development team: Develops the Product Testing team: Testing team tests the product Actual
Process: Development team starts coding the features, where as testing team starts preparing the test cases. First, before
the actual test cases preparation,its always better to prepare a test
outline.A test outline basically contains multiple test scenarios/flows
at a high level including the information regd what should be checked/verified
at what point in the flow. Second,Each test flow/scenario is converted to a single test case.The test case should be very detailed.It should specify the exact navigation steps,exact data and what should be checked.This is especially helpful when the test case writers are different from test case executers. Third and optional step is automating these test cases with automation tools. By the time the development team finishes coding the features and optionally do some testing from their side, the testing team should be ready with test cases(in case of manual execution) or automation scripts(in case test execution with automated tools) Once the testing cycle
starts, testing team tests the product and logs the bugs where as development
team fixes the bugs. |
||||||||
|
Its always better to
maintain two different application instances.One instance is for
testing team to test, other instance is for development team/bug fix team.Both
should be at the same code
How to reduce the
amount of regression issues? When the testing
should be stopped? How to catch and
resolve the misunderstandings of the product requirements?
|
||||||||
|
|
||||||||