Software Testing is a process of software analysis and defect detecting. It’s the art (pun intended) of identifying as many defects as possible in order that they can be fixed. A Defect (bug) is the nonconformance to requirements or functional specification. It is something that does not correspond to valid Customer’s expectations that are assumed but may be not described in product requirements.
The Test Manager in conjunction with the Project Manager develops a Test Plan which describes what, when, how and who will be involved in the testing process. This basic document also describes a list of tested components, quality criteria and risks of testing, resources and graphs of testing, testing strategy and testing types test budget etc.
The test lead/ senior test Engineer develops Test cases which is basically a set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.
Classification of Testing Types:
Static Testing is a process, which is used for verifying any work product in terms of code, requirements, functional specification, architecture and design documents, etc. Static testing is one of the most effective ways of defects detecting in the early stages of a product process.
Dynamic Testing Dynamic testing consists of launching the program, running all functional modules and comparing the product’s behavior with expected one using user interface.
Black box testing. Testing software based on functional and business requirements at launching and operating it without knowledge of the internal structure or program source code. A tester tests a product so as an end-user would work with it at the time of its launch and operation. This method checks the proper working of all functions and whether they conform to functional requirements.
White box testing (glass box testing). The Tester uses his or her understanding of source code and accesses the code to develop and execute test cases. This method tests the architecture of the system. It tests the design and programming that goes into building system. White box testing is usually applied when application is not entirely assembled, but it’s necessary to check each of the components, modules, procedures and sub-functions.
Unit Testing. This level of testing is usually carried out by the software developer to perform the testing of a separate module of the system. It may be a testing even of any particular part of the code (class).
Integration Testing. Is the testing of various components of an application (in their integrated form) to determine if they function well together. Also, interactions between applications of big system can be checked with this type of testing. In this case this testing is known as Cross-product testing. Usually it is performed after unit and functional testing has been carried out.
System Testing refers to that type of testing which checks the operation of the system as a whole. It is usually associated with the testing of the functional as well as non-functional requirements of the system.
Functional testing is the process of attempting to find discrepancies between the program and its functional requirements or specifications. Its goals are
1. Defining defects in software product and its documenting
2. Determine if software meets its requirements as defined in the Software requirements Specification (SRS) and other relevant documents.
3. Take an objective decision about possibility of software product delivery to customer; the decision should be documented in test result report.
Smoke Test It is the first and the shortest test, which checks the basic functionality of software product. This test takes approximately 1-4 hours depending on program complexity, A smoke test helps the Test lead to take a decision as to whether to continue further testing or not.
For Software Testing And
Software testing is the technical process used to recognize the correctness, completeness,security, and quality of developed computer software. Software testing is executed to display quality-related information about a tested product. Software testing is a vital part of software quality assurance.
Some of the common quality attributes of a product a tester looks for are capability, reliability, efficiency, portability, maintainability, compatibility and usability. A good test not only bring out errors, it also displays interesting informations new to a project community. Software testing play a crucial strategic role for transporting the quality of the product higher in the hierarchy in the software development process. It also underlines the customer's requirements all the way through the product cycle.
Some of the vital software testing procedures involved in testing a product are functional testing, negative testing, customer scenario testing, stress testing, performance testing, scalability testing, international testing, and more. The sole purpose of software testing is to assure that customers receive maximum product quality.
Some of the common types of testing a test engineer consider while testing a product are Black box testing,White box testing ,incremental integration testing,functional testing, system testing,end-to-end testing,sanity testing or smoke testing,regression testing,acceptance testing,acceptance testing,performance testing,usabilitytest, uninstall testing, recovery testing, failover testing, security testing, exploratory testing, ad-hoc testing, mutation testing and more.
Though all projects are profited from testing, some projects generally don't need independent test staff. The requirement of test stuffs depend upon the size and context of the project, the risks, the development methodology, the developer's skill and experience and more. A short term, low risk project handled by experienced programmers employing unit testing or test-first development do not need test engineers. Considering the different goals in software testing, different roles are established for software testers. They are test lead/manager, tester, test designer, test automater/automation developer and test administrator.
Shyamolima Mutsuddi SEO & Content Writer shyamolima@xponse.com http://www.xponsewebs.com
Both Prakash Chakkunny & Shyamolima are contributors for EditorialToday. The above articles have been edited for relevancy and timeliness. All write-ups, reviews, tips and guides published by EditorialToday.com and its partners or affiliates are for informational purposes only. They should not be used for any legal or any other type of advice. We do not endorse any author, contributor, writer or article posted by our team.
Shyamolima has sinced written about articles on various topics from Software, Home Buyers Guide and Home Management. I am Shyamolima Mutsuddi, working as SEO & Content writer in Xponse Technologies LTD (http://www.xponsewebs.com. I completed 'A' Level from DOEACC this year and doing M.SC in IT. Presently i am working in a project for a company(http://www.spglgerace.com). Shyamolima's top article generates over 1600 views. Bookmark Shyamolima to your Favourites.
Architecture As A Career So based on this it is possible to state that an architecture has a strong impact on our lives