Académique Documents
Professionnel Documents
Culture Documents
A software developed depending on a specific customer requirements is called as application or project. A software developed depending on overall requirements in market is called as software product. What is Software Testing? Testing is the process of executing Test cases with the intent of finding bugs in software. OR Software Testing is an empirical investigation conducted to provide stakeholders with information about the quality of the product or service under test. Difference between software testing and Quality assurance (QA)? QA is the process of verifying or determining whether a product or service meet or exceed customer expectations.
Testing: The process of executing a system with the intent of finding defects including Test planning prior to the execution of the test cases. Quality Control: A set of activities designed to evaluate a developed workingProduct. Quality Assurance: A set of activities designed to ensure that the development and/or maintenance process is adequate to ensure a system will meet its objectives. The key difference to remember is that QA is interested in the process whereas testing and quality control are interested in the product. Having a testing component in your development process demonstrates a higher degree of quality (as in QA).
After accepting a software proposal, the corresponding project managers should one of the available 5 sdlc model to follow in the development cycle. There are 5 SDLC models available currently.They are
1.
Waterfall Model
2. 3. 4. 5.
Waterfall Model: When the customer requirements are clear and complete Requirements Gathering>Analysis & Planning> Design> Coding> Testing> Release & Maintenance Prototype Model: When the customer requirements are unclear and confusing Incremental Model: When the customer requirements are clear but not complete, because client is giving requirements in installment basis. Spiral Model: When the customer requirements are clear and complete but enhancing in future Note: In above 4 SDLC models the testing is available as one stage and the stage was also conducted by same developers.Due to this the organizations are concentrating on multiple stages of testing and separate testing teams for quality software development. V-Model: V- stands for Verification and Validation
It is a recognized model by organizations This model defines the mapping in between multiple stages of development and multiple stages of testing
To decrease project cost,the organizations are maintaining the separate testing team only for system testing. Because the system testing stage is working as bottle neck stage in software development.
10.
11. 12. 13. 14. 15. 16. 17. 18.
19.
20. 21. 22. 23. 24.
25.
26.
2.
3. 4.
Basic path Coverage: Its a program testing technique. Using this technique, the programmer is validating the execution of that program without any runtime errors. In this validation, the programmer is Running that program more than one time to cover all the area of that program. The number of times the programmer running the program to cover whole program is called Cyclomatic Complexity.
For example: If you execute a if else program, you need to execute it two time to cover each and every line in the program. So the Cyclomatic complexity of that program is 2 i.e. Cyclomatic complexity=2 Control Structure Coverage: After completion of basic path coverage, the corresponding programmer is validating that program correctness in terms of inputs, process and outputs. Program Technique Coverage: After completion of control structure coverage, the corresponding programmer is calculating the execution speed of that program. If the execution speed is not acceptable, then the programmer is performing changes in that program structure without disturbing functionality. For Example: Take swapping of 2 numbers as example. This can be done using 3 variables and 2 variables. Mutation Coverage: Mutation means that a change. The programmers are performing changes in a tested program to estimate the correctness and completeness of that program testing. Note: White-box testing techniques are also known as clear box techniques OR Open box testing techniques.
1. 2. 3. 4.
Boundary Value Analysis (BVA) Equivalence Class Partitions (ECP) Decision Tables (DT) State Transition Diagrams (STD)
Boundary Value Analysis (BVA): BVA takes care about the size in software testing For example: Testing Password Field, Password field should be minimum 4 chars and maximum 8 chars. BVA for this is
Equivalence Class Partitions (ECP): ECP takes care about the Type in software testing. For example: Testing username Field, User name should be combination of Capital letters and numbers.
Note: If our Test is related to a field, the testers are using BVA and ECP techniques because exhaustive testing is impossible from testing principles Decision Tables: If our test related to an operation with alternative expectations, the testers are using DT techniques. For example: If login user name and password are correct, next window will appear. If any one of user name or password is are wrong, error window should open. So here we have 2 alternatives like Next window and error window. State Transition Diagrams (STD): If a test related to an operation with no alternative expectations, the testers are using state transition diagrams.
Functional testing is concentrating on customer requirements and the Non-Functional testing is concentrating on customer expectations. Functional Testing: Its a mandatory testing level, during this test the testing team is validating a software build functionality in terms of below factors with respect to customer requirements.
1. 2. 3. 4. 5. 6.
Behavioral / GUI: The changes in properties of Objects OR controls in a software is called behavioral or GUI. Input Domain: Whether the objects are taking correct type and size of inputs or not? Error Handling: Whether our software is preventing wrong operations or not? Manipulations: Whether our software is generating correct output or not? Database Validity: Whether our software front end screens operations are correctly impacting on database of the software or not? Sanitation: Finding extra operations in a software with respect to customer requirements.
The above factors checking on a software is called as functional testing. During this checking the testers are using black box testing techniques or closed box testing techniques. Non-Functional Testing: After completion of functional testing successfully, the testing team is concentrating on non-functional testing. During non-functional testing, the testing team is concentrating on customer expectations or software characteristics. This non-functional testing is classified into below sub testing topics.
1.
2.
3. 4. 5. 6. 7.
8.
9.
Usability Testing (UI Check) Manual Check (Help documents testing) Compatibility Testing OR Portability Testing Configuration Testing Inter system Testing Multi languity Testing Data volume Testing Installation Testing Performance Testing Load testing Endurance Testing Security Testing Parallel Testing User Acceptance Testing (UAT) Software Release and Release Testing
2. 3.
Note:
Combination of White box and Black box techniques are called Gray box or Validation Techniques or Dynamic testing techniques. Review techniques are also called as Verification techniques or Static testing techniques
Review Techniques: The techniques used to verify the documents that will be useful in testing are called Review techniques or verification techniques or Static testing techniques. There are 4 techniques in this. They are 1. 2. 3. Walk Through Inspections Peer Reviews
White box Techniques: There are 4 types in this 1. Basic path Coverage Control Structure Coverage Programs Technique Coverage Mutation Coverage
2.
3. 4.
1. 2. 3. 4.
Boundary Value Analysis (BVA) Equivalence Class Partitions (ECP) Decision Tables (DT) State Transition Diagrams (STD)
Re- Test:Retesting means we testing only the certain part of an Applicationagain and not considering how it will effect in the other part or in the whole application. Regression Testing:Testing the application after a change in a module or part of the application for testing that is the code change will affect rest of the application.
What is AUT?
aut is nothing but Application Under Test. After the designing and coding phase in Software development Life Cycle, the application comes for testing then at that time the application is stated as Application Under Test.
What should be Done if you Dont Have Enough Time for Testing?
Subscribe
Subscribe by Email
What Should be Done if you Dont Have Enough Time for Testing?
Posted on August 10th, 2009 in Manual Testing Since its rarely possible to Test every possible aspect of an Application, every possible combination of events, every dependency, or everything that could go wrong, risk analysis is appropriate to most software development projects. This requires judgement skills, common sense, and experience. (If warranted, formal methods are also available.) Considerations can include: 1. 2. 3. 4. 5. Use risk analysis to determine where testing should be focused. Which functionality is most important to the projects intended purpose? Which functionality is most visible to the user? Which functionality has the largest safety impact? Which functionality has the largest financial impact on users?
6. Which aspects of the application are most important to the customer? 7. Which aspects of the application can be tested early in the development cycle? 8. Which parts of the code are most complex, and thus most subject to errors? 9. Which parts of the application were developed in rush or panic mode? 10. Which aspects of similar/related previous projects caused problems? 11. Which aspects of similar/related previous projects had large maintenance expenses? 12. Which parts of the requirements and design are unclear or poorly thought out? 13. What do the developers think are the highest-risk aspects of the application? 14. What kinds of problems would cause the worst publicity? 15. What kinds of problems would cause the most customer service complaints? 16. What kinds of tests could easily cover multiple functionalities? 17. Which tests will have the best high-risk-coverage to time-required ratio? Client will also contribute some ideas to utilize the available time. All this depends on organization to organization and person to person.