Today I am writing on software testing good practices that help us to make our software testing more efficient. Simply saying ‘we do software testing’ does not magically make your software better or even your testing processes correct and optimized. After all you will learn these testing practices by experience, so let’s learn what all points to be consider for making your software more efficient and healthy.
1) Participation right from beginning: It is a good practice to have testers involved in all stages of software development life cycle. It results the testers can acquire good understanding of application under test, as a result tester can cover the comprehensive test cases. In the requirement’s stage, testing project’s requirements can be a cost-effective & useful to avoid bugs afterward. Early preparation of test environment, thereby preventing any delays and unknown risks will have enough time to deal with. If it is not possible to be a part in these stages then ask you lead or manager to involve the tester in decision making meetings.
2) Have a good test plan. It is necessary to have test plan written by experience person like QA lead or manager. While creating test plan you need follow an organized approach to make it good test plan. The good test plan must cover Scope of testing, test objectives, budget limitations, deadlines, test execution schedule, risks identifications and more.
3) Store intelligently: It is bad practice to have all requirements & change requests over the email. Store all documents, reports on centralized location. It helps to avoid scattering documents over email, file server or intranet. If store intelligently then help to increase the Productivity & improve availability of documents.
4) Test early, test often: It has been observed that most of the errors are identified in the testing phase which is already introduced in the requirement or design phase. Defects identified later in SDLC are expensive to fix than defects identified in early stage. So testing should start early to avoid the introduction of defects in the early phase.
5) Start writing testing cases early in the requirement analysis & design phase: If you start writing test cases during early phase of Software Development Life Cycle then you will understand whether all requirement are testable or not. While writing test cases first consider Valid/Positive test cases which cover all expected behavior of application under test. After that you can consider invalid conditions/negative test cases.
6) Write effective test cases: Writing effective test cases is a skill and that can be accomplished by experience and in-depth study of the application on which test cases are being written. You should write clearer steps while writing test cases, that will handy to reproduce test cases for both developer and tester.
7) Start testing with positive mindset: When you are start testing application positive attitude with determination of bug and errors in the code. Start positive attitude & don’t think that there will not be a bug in the code. If you are testing application with intention of finding bug then you will definitely get bugs in the code.
8) Use good metrics: Metrics are important for more than one reason software testing projects. Testing your software is one thing and choosing the right metrics is another. Measuring quality and making the right decisions another. Metrics are used to get the efficiency and productivity over time. Quality Objectives Must Be measurable, documented, reviewed and tracked. Choose metrics which are simple to execute & effective in nature. Make sure that choose metrics such that which will present the big picture like
- Schedule: Number of test cases written or executed versus the timeline.
- Size: Number of lines of code, modules or test cases.
- Quality: Defect Removal Efficiency (DRE), coverage.
- Rework: Number of test cycles to test bug fixes.
- Resources: Money spent, hours of work.
9) Understand testing coverage; divide the functional module into smaller part: Application under test should be divided into small functional module which will help to understand the coverage of testing. If possible make sure that functional modules are divvied into smaller logical parts if possible and test cases should be written in the single module.
10) Test cases available to all team: QA team is aware of application under test vertically rather horizontally. When QA team write the test cases then make sure that you kept in the central location from where all team can access the test cases. Let developer analyze the test cases which help to build the high quality application. Due to uncover all scenarios which developers might miss while coding, this will help to save the rework time.
11) Writing good, clear & descriptive bug report will help to make your software testing more efficient. Keep in mind that testing is a more challenging & creative job. It is your skill how you are handling this challenging situations. Your efforts towards writing good bug report will not only save company resources but also create a good relationship between you and developers. While reporting bug not only provide the symptoms of bug but also provide the solutions, if you can. Additional information must be provided along with bug like browser version, login details if any, exact steps to repro etc. This will help to fix the obvious problem quickly. Use proper bug report template for reporting bug.
12) Test environments should own by Testing team: Test environment should be the exact replica of production. Sometimes developers add some configurations or run script but missed to add in release document or configuration file. As a result application will work in the lower environment but failed on production. So if testing team owns the test environment & developer don’t have access to test environment, so such missing things can be controlled.
13) Identify Regression Test cases: To do effective manual regression testing, identify & group the set of regression test cases well before.
14) Increase communication with developer to avoid misunderstandings: In the daily standup or meeting, discuss all points whichever unclear or need some additional information. The face to face communication will resolve the problem easily and quickly, that will help to avoid any misunderstandings. Once you discuss these points, it should be communicated over email as well. Basically, simple rule is that don’t keep verbal communications, same should be capture over the emails or MOM.
15) Over to You: This tip is intentionally kept blank to share your experience or any point I missed…
If you are not regular reader of this website then highly recommends you to sign up for our free email newsletter!! Sign up just providing your email address below: