In previous posts (Improve software testing), I have been outlining steps that can help a tester improve their testing skills. Some of these steps can happen in a short time, and some more steps that will take more time to happen. For example, in the previous post, I had talked about using metrics about the bug generation and interpreting the data to improve the quality of the bugs you log. In this post, I will take some more steps about how you can improve your testing skills:
- See whether you can get some idea about the way your customers think. Reading requirements and designs give you an idea about the customers needs, but you need to understand more about how your customers think. This can be a bit difficult, since getting access to your customers can be difficult. However, there are ways in which you learn.
So, for example, there can be user forums where users write about their experiences, write about the problems they have with their software, and so on. Such forums are a good way for testers to learn about the customer flows, since users will describe what they were doing when they ran into the problem, and other users can add more feedback from their side. Reading such threads helps to learn the workflows that customers use, and such feedback makes the testing done even more realistic, mapping to how the customer actually uses the application.
Another way of understanding customer workflows is to review the bugs that customer log. Most good softwares actually allow users to enter bugs through some sort of work flow, either from a form on a web site, or through an option on the site itself. Reading such bugs will give an idea about the workflows that the customer was using and reading a number of such bugs gives a good insight into customer workflows.
Wednesday, June 22, 2011
Steps to become a better software tester - can do these over a period of time - Part 12
Posted by
Ashish Agarwal
at
6/22/2011 12:16:00 AM
2
comments
Labels: Steps, Steps to improve testing, Tester, Testers, Tips, Tips for improving testing, Tips to make a better tester
![]() | Subscribe by Email |
|
Tuesday, June 21, 2011
Steps to become a better software tester - can do these over a period of time - Part 11
I have been writing a series of posts (How to become a better tester) on how a tester can acquire the skills needed to become a better tester. There are a number of such steps that a person can do, with some of them being very logical, and some that many testers would not have thought about. Many of these are easy to do, and others are more difficult to do, but all of them are something that testers can do. In this series, I will write more steps that a person can do in order to improve their skills:
- Get into the business of collecting metrics about your test process and its results. These metrics could include the number of test cases written vs. the amount of time taken, the amount of test cases written vs. the complexity of the requirements / code / design (using various measures such as Function Point Analysis or other such parameters). Additional metrics that can be collected including determination of the results of the testing, such as the number of bugs generated on a daily basis, the number of bugs that were accepted as valid bugs, the number of high criticality bugs, the number of bugs that were withdrawn, the number of bugs that were marked as duplicate. Viewing these metrics can help a tester determine the efficiency of their bug logging measures. It is one thing to feel that the bugs you log are important, and that developers are happy that you are testing their feature, but to get a good validation of how you are actually doing, you need to actually do the metrics for these. Ideally, compare your data with that of the other testers, and if you find that a greater number of your bugs are withdrawn as compared to other testers, or if you have a higher number of bugs that are of a lower priority, then you need to improve things. It is only when you find yourself generating these metrics that are among the best in your comparable group that you should feel that you are improving as a tester.
The thing to note about this metrics based analysis is that this is an ongoing thing, with improvements showing up over a period of time. Do not suddenly try to generate high severity bugs, since that may actually cause a reduction in your performance. Analyse what you are doing, how you are doing your testing, and then see the benefits that will happen.
Posted by
Ashish Agarwal
at
6/21/2011 12:05:00 AM
0
comments
Labels: Steps, Steps to improve testing, Tester, Testers, Tips, Tips for improving testing, Tips to make a better tester
![]() | Subscribe by Email |
|
Sunday, June 19, 2011
Steps to become a better software tester - can do these over a period of time - Part 10
I have been writing a series of posts (Improve your testing skills) on how to improve your testing skills, with many advice items that will take time to implement, and some items that can be done fairly swiftly. It requires that the tester have the intention of making these changes, and showing their will and determination (since some of them will ask for the tester to put in extra effort). Some more tips for this series are:
- Ensure that you put in a lot of effort to be concise and yet clear in your written communication. A tester has a number of areas where good written communication is required, such as writing test cases, test plans, bugs, and so on. A person who is able to clearly communicate is normally seen in a much better light that somebody whose documentation takes effort to read, or is not clear enough that more information is needed before somebody else can work from that documentation.
- Be sure that you make an effort to check for previous behavior, when working on products where a new version of the product is being done. No developer likes a tester who claims to have found a new bug, and then after some discussion and time spent, it gets discovered that the defect was actually filed in previous versions of the product, and for some reason, was not deemed worthy of fixing in the previous version of the product. A tester will do a check for previous versions of the product having this bug, and also provide this information to the developer. This is true because development time is limited, and sometimes if a bug is present in many versions of the product, and customers have not really raised any issues about this defect, it may be possible to de-prioritize the bug and not put time for fixing the bug.
- Keep yourself updated with latest techniques. There is a lot of research in terms of improvements in testing skills on the internet and in specialist magazines, and a tester can improve their testing skills by reading the latest research and trying out some of the measures advocated by such research.
Posted by
Ashish Agarwal
at
6/19/2011 01:58:00 AM
0
comments
Labels: Steps, Steps to improve testing, System Tester, Tester, Testers, Tips, Tips for improving testing, Tips to make a better tester
![]() | Subscribe by Email |
|
Thursday, June 16, 2011
Steps to become a better software tester - can do these over a period of time - Part 9
In the previous post (How to become a better software tester), I have been writing a series on how a tester can improve his / her abilities. Making oneself a better tester means that you get a much enhanced reputation, your career prospects improve, you get promoted faster, and the better developers seek you out to get their features tested. In this post, I will write some more tips that will help the tester improve their abilities:
- You need to be positive in your approach. The developers will not like this, but if you start with the approach that you will find bugs in your testing, it is more likely that you will find yourself in the best frame in which to find bugs. When a person is in this mode, they are likely to question things and question the feature, and start finding the weak points in the feature that are likely to lead to determining the bugs in the feature.
- Another way in which you can find bugs is by collaborating more with your other testers. One of the weakest points of features is where one feature interacts with another feature - this can be through passing of data from one feature to another, or API's that relate one feature to another, and so on. Testing assignments are normally from one feature to another, so the interaction of one feature with another does not typically get the attention it deserves. If you work closely with the testers who work on the features with which your features integrate, it is likely that you will find more bugs, and this will help in shaking out all the bugs in your feature. This does not happen without spending more effort, whether in working with the other testers, or focusing on the additional testing, but the returns will be worth it.
- Be the person who knows the feature well, even if this means that you are the person who spends the most time reading the designs, reading the specifications, and so on. This makes you the expert on the feature, including when important demos need to be given (which is good for your career), and is also important since you get the feature knowledge necessary for doing some great testing.
Posted by
Ashish Agarwal
at
6/16/2011 12:30:00 AM
0
comments
Labels: Steps, Steps to improve testing, Tester, Testers, Tips, Tips for improving testing, Tips to make a better tester
![]() | Subscribe by Email |
|
Tuesday, June 14, 2011
Steps to become a better software tester - can do these over a period of time - Part 8
In previous posts (How to improve your software testing skills), I have been talking about what are some of the properties that can make you a better tester. Some of these attributes can take some time to acquire, and some of them can happen fairly easily, as long as you are convinced that this is the right thing to do. Here are some more tips that you can implement for making yourself a better tester:
- Learn how to break your application into smaller modules / components. It is always easy to test components, write test cases for them, and so on. A good tester is able to review software applications under testing, and figure out how to break these applications into smaller discrete components for which individual test plans can be written, and even specific testing done for them.
- If you have limited time, then ensure that you write test cases that first describe the functionality that is supposed to work, and then you put the time on writing test cases that cover the functionality where the system is not supposed to work (for example, conditions where very high values are entered, or negative values, and so on). The same logic needs to be put in for the testing where there is time limitations. Typically, it is expected that a system will work for both negative and positive values that are entered, so enough time needs to be entered for the complete set of testing to happen. However, if there needs to be a priority in terms of how much time should be set aside for testing of positive and negative values, then testing needs to be focused on the positive values and then the negative values.
If you do reach a situation where you have to prioritize between testing for positive and negative values, then make sure that you have made your opinion known and your management knows about the amount of testing that is done, and the risks inherent with a reduced amount of testing.
Posted by
Ashish Agarwal
at
6/14/2011 12:26:00 AM
0
comments
Labels: Steps, Steps to improve testing, Tester, Testers, Tips, Tips for improving testing, Tips to make a better tester
![]() | Subscribe by Email |
|
Thursday, June 9, 2011
Steps to become a better software tester - can do these over a period of time - Part 7
In previous posts (improve your testing skills), I have been mentioning tips that can help you improve your testing skills and become a much better tester. Some of these items will take time to happen, while others can be done much faster.
- Learn about techniques such as code coverage. Code Coverage is a technique that is famous when anybody talks about White box testing. If you are a white box tester, you should learn about what code coverage is, and why it is necessary and useful for white box testers to learn about. Code coverage actually is the way of defining how much of the source code of a software has been tested, using measures such as function coverage, statement coverage, decision coverage, condition coverage, and condition / decision coverage. You also need to learn how much of code coverage is possible (one measure is that 90% of code coverage is a good enough indicator of how much to cover).
- For white box coverage, a white box tester needs to ensure that they have detailed knowledge of the code structure and design of the software. As a part of this, it is required to have knowledge of programming languages, architecture, and design concepts. However, this is not a static field. Anybody who wants to be a good white box tester needs to ensure that they are upgrading their skills, attending trainings, learning new languages that come up, and be in close touch with the development team.
- For the regular white box testing, the tester needs to have gone through the actual design documents for the software, and ask questions where something is not clear. Better to ask rather than to not know something and make a mistake. Further, if there are mailing lists within the team where the developers talk about design issues, a white box tester should join such lists and get informed about all such changes.
Posted by
Ashish Agarwal
at
6/09/2011 08:35:00 PM
0
comments
Labels: Steps, Steps to improve testing, Tester, Testers, Tips, Tips for improving testing, Tips to make a better tester, White box testing
![]() | Subscribe by Email |
|
Monday, June 6, 2011
Steps to become a better software tester - can do these over a period of time - Part 6
In the previous post, or series of posts (how to improve software testing), I am writing about how to improve the abilities of a person who does testing. In this article, I will provide some more details about what a tester can do to improve their skills in this post:
- Learning about scripting. Scripting is one technique that is beneficial to tester in many ways. There are many applications and software that have a testing interface. Being able to use these scripting interfaces can help automate some of the work of a tester; further, it is not necessary that time for this activity would be budgeted as part of the regular product activities. A tester can increase the amount of time available for regular testing and reduce the time spent on repetitive testing by using options such as Scripting. Knowledge of scripting is also useful for helping out in many of the activities of the tester on a regular basis.
- Automation. Automation is one of the techniques that ensures that continuous and repetitive tasks can be done through a software application rather than a tester doing it. Automation ensures a higher amount of coverage, and you have the option of setting up a list of automation test cases which ensure that a certain percentage of test cases can be run every day when the new build comes in. However, automation is not everyone's cup of team. Automation is typically done by those team members who have shown interest in learning about automation techniques, or those who have shown some interest in scripting (and this is normally seem to be present in people rather than all the team members being asked about whether they would prefer to do scripting or automation testing).
- Being able to adapt to new methodologies. New methodologies such as Agile, Scrum, etc have made it into the software development community and it makes sense for testers to know about these technologies (they can show the lead to their team for such methodologies) and not seem to act such that they are standing in the way of such methodologies.
Posted by
Ashish Agarwal
at
6/06/2011 10:16:00 AM
0
comments
Labels: Software, Software testing, Steps to improve testing, Tester, Testers, Tips, Tips for improving testing, Tips to make a better tester
![]() | Subscribe by Email |
|
Saturday, June 4, 2011
Steps to become a better software tester - can do these over a period of time - Part 5
I have been writing a series of posts (How to become a better tester) about how a tester can slowly and steadily acquire a variety of skills that improve their skills and make them a much better tester, ensuring a better career and more respect. Here are some more tips that can help you in this quest:
- People working with a tester can typically figure out the tester who is laid back and the one who they can trust to make sure that their feature is of high quality. They would prefer a tester who is involved in the process from the beginning, who asks a lot of questions (relevant ones, not questions just for the purpose of questions), who contributes to improving the product and the process. A tester may irritate the developer by asking a lot of questions, but if these are relevant questions and help the developer in uncovering more defects, such help will be well appreciated. I have this transformation happening in a tester when the tester learnt that they were rated average and did some amount of comparison to see what a developer and the test manager would appreciate.
- Learning more about the intricacies of how the system / application is built. Typically when there is a black box system, the tester is just expected to know the various input and output variables for the system; however, a good tester will also try to explore to some extent white box related information for the system. The tester will try to learn about the way that different components in the system interact with each other, so that it also becomes easier to identify the areas that need more attention. This may require the tester to learn about the system design to some degree, but all of this is very much possible for a determined tester to do (it is only in some amount of applications where the tester does not have the ability to learn about the system design and the interactions between the various components in the system).
Posted by
Ashish Agarwal
at
6/04/2011 11:42:00 PM
0
comments
Labels: Steps, Steps to improve testing, Tester, Testers, Tips, Tips for improving testing, Tips to make a better tester
![]() | Subscribe by Email |
|
Friday, June 3, 2011
Steps to become a better software tester - can do these over a period of time - Part 4
In previous posts, I have been talking about how a tester can continually improve their expertise, gaining a good reputation as a skilled tester (something that is likely to help the tester both professionally and in terms of career climb). I will continue with more topics in this post, and if you reading these articles, I hope that this helps you a lot in your effort to become a better tester. If there are any specific experiences that you want to contribute, please put them in the comments, and I will get in touch with you for more details.
- Always do testing with an open mind. You may have had experiences with different developers and may have made some judgments about them in terms of which developer is more likely to have defects, which one has lesser defects and better quality of code. However, keep in mind that many of these properties also depend on the situation, and a developer, when faced with a tough time crunch and under a lot of pressure, can tend to make more mistakes than normal. So, do not make any assumptions while doing your testing, and make sure that other people can depend on your testing pass.
- Learn about new technologies, keep ahead of the curve. Over a period of time, there are a number of new technologies that can hit the market, and many of these can become very important in the testing community (one such example has been the use of scripting tools and automation tools to provide an automation testing strategy). If you have shown interest, and learned something about these tools and practices, there is a much higher chance that you will be selected when the group decides to get its feet wet with respect to automation and you would be the spearhead of this effort, which can be good for your career.
- One needs to be level headed, and not get irritated easily. It is seen in many cases that developers can take their own time to fix bugs, and this can irritate a tester (I have seen cases where the tester expresses feelings that their work is of no value since the developer did not even look at some of the defects for weeks altogether). A good tester should not show irritation over such matters, but instead raise the issue in proper forum so that this is seen as a problem with a solution required.
Posted by
Ashish Agarwal
at
6/03/2011 11:55:00 PM
0
comments
Labels: Steps, Steps to improve testing, Tester, Testers, Tips for improving testing, Tips to make a better tester
![]() | Subscribe by Email |
|
Wednesday, June 1, 2011
Steps to become a better software tester - can do these over a period of time - Part 3
In this series of posts (Improving testing skills), I have been writing about how to improve the testing capabilities of tester, and have presented some points that could help a developer. In this context, here are some points that could help the tester to improve their skills.
- The tester needs to improve their knowledge of the product. I once had a case where the tester had a series of test cases to execute and did not really have the time to get detailed knowledge of the product. So when there was a change in design and features, and the test cases had to be re-done, the tester did not have the knowledge to quickly make the changes. It took time, and the tester had to face flak because of the time involved, and was also berated for a poor knowledge of the product (and there was really no defence of this lack of knowledge).
- Domain knowledge of the area. A skilled tester will make the time to learn about the domain in which they are testing. For example, if an application is being written for the banking domain, then it would help for the tester to get a quick understanding of the concepts of the banking domain, especially the specific areas which the application is expected to cover. In my previous experience, I have seen that this helps the tester ask informed questions, and also be able to better review the test cases for completeness.
- The tester needs to focus on the more critical parts of the application first, and check those areas first in terms of testing. It is a reality that no application is 100% bug free (or rather, the amount of effort and cost required to make an application bug free is exorbitant), and hence it is key that the tester has found more of the bugs in the application that have a high priority and severity, and the bugs that are remaining in the application are less severe, and have a lower customer impact.
Posted by
Ashish Agarwal
at
6/01/2011 09:50:00 AM
0
comments
Labels: improve, Improvement, Steps, Steps to improve testing, System Tester, Tester, Tips, Tips for improving testing, Tips to make a better tester
![]() | Subscribe by Email |
|