Sie sind auf Seite 1von 6

How to learn Software Testing

Before learning the intricacies of Software testing, one needs to know what are the pre requisites to learn testing. It is very much important to gain a momentum and know the computer terminologies for any layman such as what is a program, how does a software work, what is the life cycle of any software, different languages used (high level knowledge is preferred), what is meant by execution of a software, different kinds of executables( exe, binaries etc), etc. After knowing this, you should start learning various terminologies used in software testing such as process, test strategies, methodologies, types of testing, tools used etc. After this learn what is the bug life cycle, how can we detect bugs, different bug status, bug priority, bug severity, how do we go about systematic testing, understanding the difference between defects, errors, bugs, etc. Internet has lot of resources which can give you authentic and appropriate information regarding various aspects. You can even ask your doubts in the software testing forums, subscribe to the feeds and newsletters to learn more about the current happenings in testing world. Finding faults in the functionality is the first step to learn testing for beginners. It is also important to understand the requirements, this can be done by reading the requirement or functional and design specification documents. It would be great to learn software testing on the job. If requirements are not clear or no requirements are given then use your common sense, confirm with seniors and clients. Remember there should not be any assumptions in software testing; it should be strictly carried out in compliance with the client requirements. Try to test in an explorative fashion which will help you even if you do not have any user guides and documents. Creativity counts to the quality of the product, hence be more creative and expand your horizons as much as possible while examining the software. In some cases test cases would have been given where you have to just do checklist verification against the expected and actual results. While in many other cases you might have to do some adhoc testing, I would suggest the more you test the software in an adhoc way, the more you will learn about the software, hence easier would it be to test it. It is very much true that books are mans best friends. Ian Somerville is the best book for beginners. You can also go for testing certifications which are provided by various vendors like QAI, ISTQB, CSTP and CSTE. Certifications in both manual, automated are available, which could give you in depth knowledge of testing along with certification which could be very easy in landing up with a decent job.

Software Testing problems


Developing any software is a very complex task and there are lot of risks involved in it. This is directly influenced by the software testing effectiveness and efficiency. But software testing is not a happy path either. Various problems affect the software testing process. Lets get to the root cause now. In order to build robust software and to have an efficient software testing process and methodologies, it is very much essential that we understand what the software testing problems are. Often software testing is very much under estimated that it is a very easy job and any one can do it. But its not the case, software testing must and should be done by skilled testers who have both the technical as well as domain knowledge, which is very much lacking in our industry. Business pressure can directly influence the testing quality. Deadlines negotiated by the management from the stakeholders will directly affect the nature of testing. If the tester is under pressure, there is a huge percentage of defect slippage which might adversely affect the software, if quality is adhered then there might be deadline slippages. maintaining a perfect balance between both is a major problem. Most companies hire testers with certain skills and make them test on some other skills. In such cases efficient testing cant be performed. Proper skilled testers have to be hired and deployed on the job so that they are very much aware of the domain and technology, thus providing effective feedback of their testing. Software testing not only means that the testers just test and give the result. Every testing process should collect the metrics and prepare a report for the statistics which can be used as historical data or data to be presented to the management. But mostly it is seen that no such data is gathered and we waste lot of time redoing the tasks in every cycle of the software release which is a major problem with software testing leading to mismanagement of tasks. One should adopt smart testing than saying that they have done lot of testing on the product to find hundreds of bugs. Smart testing involves automating repeated tasks and manually testing complex unique tasks. This is very much essential in case of any software testing. Some companies are trying to automate their software testing process but the process is still lacking its effectiveness at many places.

What Is Software Testing?


Every new software that is being made needs to go through some sort of testing. By doing software testing, the consumers who would use the particular software would be more apt to buy it and continue to get the updates for the particular software.. Consumers will appreciate and understand better the risks of software implementation when there is software testing being done. No matter who uses it, the consumer needs and wants an objective and independent view of the software. Software testing will ensure consumers that the business making the software isnt being bias about their own product. Software testing is a process of validating and verifying that a particular software will meet the consumer and technical requirements it was meant for. It also makes sure the software works as the maker of it expected it to. Testing of the software can be done almost at any time. Some software makers want the software testing to be implemented throughout the whole development process. By doing software testing at different stages of development process can make sure each step works properly before going on to the next step. Most software testing occurs after the software requirements have been defined and after completion of the coding process. This way of testing will make sure the software works as a whole finished product. Even though software testing doesnt always identify all software defects, it does give criticism of the state and behavior of the product. It can give consumers a comparison to similar products already out on the market and to software about to be introduced. Software testing will establish if the product functions properly under specific conditions. It can not establish under all conditions if the product will function properly or not. By doing software testing, it will make sure the product does what it is suppose to do and what it needs to do. The earlier a defect or problem is found in the software, the less it will cost the maker of it to fix. During the software testing process, the software developer can make an assessment of its target audience. This assessment can include whether the software will be accepted by its intended end users. It can also, in a way, determine if its target audience, its purchasers, and any other stakeholders will accept the finished software product. In the end, software testing will provide consumers with different types of information regarding the quality of the software. Before the software goes on the market for sale, the testing will find and deal with any software bugs.

Why do we Need Software Testing Metrics and Reports?


Software testing is the process of identifying the flaws or defects in the system and make sure it is compliant with the client requirements before releasing it to the market. But testing can never assure 100% bug free software. This might show the inconsistency and inefficiency of testing process or testing methodologies followed, it could also account the human errors in case of manual testing or script errors in case of automated testing. This directly impacts the quality of the software. Hence, in order to improve the software quality, certain protocols and rules need to be laid down and complement the efficiency of the software. Every software undergoes the risk phase. Hence risk management is a very important factor which needs to be taken care in order to improve the software quality, reliability and robustness of the software. Also there should be high amount of transparency as to where the software stands in terms of quality, quantity, progress, user effectiveness, compliance to requirements etc. This raises an alarm to have a systematic metric and report based process, thus giving rise to test metrics and reports. Following are the points that support why software testing metrics and reports are necessary. Metrics help in easy tracking of the project status and also helps in presenting the statistics to the senior management in an organized way. Back tracking can be very easy if every action is tracked appropriately. Metrics and reports help in collecting historical data using which further processes in testing can be made more effective Project control, change control and reporting can be easily accomplished without hassles and confusion. Software Metrics and reports help in both project management and process management Metrics can directly influence both the efficiency and effectiveness of a software Helps in early defect detection and defect removal thurs reduceing the cost of defects Assists the managers in effective decision making Metrics also act as a benchmark for estimations and provide bottleneck to the testers Manages risk at ease To summerize, the goal of a software metric is to understand the state of the software product. Hence, it is very much essential to choose the right set of metrics for your product during the testing process.

How to Measure Software Testing Success ?


Software testing success depends upon the achievement of certain performance standards for speed of processing data, ability to handle large amounts of data, and long-term durability. Broken down simply, all software must be able to handle a certain quantity of input with a certain quality of output. More complex parameters measure scalability of growth with computer networks, ability to handle web traffic spikes, and performance rates using various configurations. Software Performance Tests The following are the most basic software performance tests:
y y y y y y y y

Bugs Isolation of potential problems Configuration How do different settings affect the softwares ability to handle data? Endurance Long-term ability to handle loads Environmental Measures performance with different surroundings Load How much data or web traffic can be handled Resource Usage Efficiency How well it uses power and storage resources Spike Used for Internet software that must manage peaks of high web traffic for short amounts of time Stress Upper limits before performance suffers.

When software developers create their programs, they have a certain vision of what they can do. Software testing must prove or verify that these expectations have been reached. In the midst of software development, weak links can be adjusted, tweaked, or modified to fine-tune or improve performance if certain expected standards have not been met. Software testing can also be used to compare programs with one another. Information technology (IT) professionals want measurable or quantifiable performance standards that can be used to compare software programs with one another. These software tests can also reveal the conditions under which the software program achieves peak performance. End users must know what types of computer systems will run the software. They will expect a certain level of performance based on successful software tests. If the software cannot handle a required workload, then another program will be considered. Scalability is an increasingly important issue as computer users require better software programs as their businesses grow. Software testing can prove whether speed, load, or durability can be easily improved with a minimal investment in the future. Good software must grow as businesses grow.

Das könnte Ihnen auch gefallen