TEAM CHARTER (Professional Programming Practice)
Team charter is a document that is established in a group set that illuminates team direction while establishing boundaries. It is settled during the making of team. It initiates team work.
It is a part of life cycle engineering.
PROCESS OF SOFTWARE ENGINEERING INCLUDES:
PRINCIPLE OF TESTING:
There are seven principles in software testing:
1. Testing demonstrates existence of defects
2. Comprehensive testing is not possible
3. Early testing
4. Defect clustering
5. Pesticide paradox
6. Testing is background dependent
7. Absence of error misconception
MASTER TEST PLAN:
Master test plan is a document that is made to have a detailed documentation of each and every step that may be involve in the whole process. It gives the detailed view of each and every step that is taken or that will further be followed by the team to get the end result from the project.
Details provided by master test plan are:
• List of steps that are required to be performed
• Testing levels that are to be covered
• Interconnection between different testing plans
• Strategy of test implementation
• Testing efforts are also explained
Content of master test plan:
• Number of items to be tested
• umber of items that are not to be tested
• Quality characteristics that will be tested
• Quality products that are not to be tested
• Execution cycles of test plans
• Test budget of whole project
• Schedule of testing
• Terms and conditions between other departments
• Future scope of each step
• Risks that are likely to be occurred with testing
• Responsibility of each team member
• Inputs and end results of each step
TYPES OF TESTING:
1. Static testing
2. Dynamic testing
3. Unit testing
4. Integration testing
5. User acceptance testing
1. STATIC TESTING:
Static testing involves only the examination of the code with a bird’s eye and getting the error without implementation of the entire code.
It requires programmers to read the code manually and find errors. But they cannot make changes to it that’s why it is called static testing. It does verification process and it is performed before compilation.
Types of views in static testing:
• Peer review
2. DYNAMIC TESTING:
Dynamic testing is performed by executing the entire code. Validation process is done by this testing. dynamic testing is not only about finding the errors but also about fixing them. Dynamic testing is performed after compilation of the entire code.
It is divided into 2 parts:
• White box testing
• Blackbox testing
o Functional testing
o Non-functional testing
3. UNIT TESTING:
In this individual components/units are tested. It is used to validate that each unit of software performs as designed. A unit is smallest testable part. It has one or more inputs but single output. It is performed by using white box testing.
Unit testing tasks:
• Unit test plan
• Unit test cases
• Unit test
4. INTEGRATION TESTING:
After completion of unit testing, the units are combined or integrated which give raise to integration testing.
Approaches to integration testing:
• Top-down: starts with the high-level system and integrate from top-bottom replacing individual components by stubs where appropriate.
• Bottom-up: integrate individual components in levels until the complete system is created.
5. ACCEPTANCE TESTING:
At this level of testing it is tested if the entire code s acceptable i.e. according to the user’s requirements. If this test is passed it is confirmed that the project is ready to deliver.
Black-box testing is used in this testing phase.
Internal acceptance testing: this done by the team members who developed the program but have no direct involvement in it.
External acceptance testing: persons who does not belong to the organization perform this testing.
Customer acceptance testing: who developed the program in the organization do this testing.
User acceptance testing: end user does this testing
Acceptance testing tasks:
• Acceptance test plan
• Acceptance test cases
• Acceptance test
Black box and white box testing:
Black box testing:
• Black box testing is done in which the entire code is not known to the tester.
• No programming knowledge is required for this.
• No implementation knowledge is required.
White box testing:
• White box testing is done in which entire code is known to the tester.
• For this programming knowledge is required.
• And implementation knowledge is required.