Product Companies in India...
I am seeing a model difference (as everybody knows) between service and product companies in India. Here in product companies, there is a collaborative development model, or in other words collaborative business model. The American company is not treating as client but as a parent, the American workers are treated as peers.
Definitely there may be many thought patterns would have ridden over it, but my opinion is, this is not good for both Indian as well as American wings. Indian wing should its American counterpart as its client, which not only increase the internal competency but also greatly justifies its existence.
As a company, either we have to bravely innovate things or should satisfy our clients/customers... Most of the core customer relationship activities are done in US, Indian companies start enjoying the 'non-pressure' of customer satisfaction... Even if it is created, it lags direction...
Then when Indians can treat their American counterpart as peers? In simple words, over the years, i.e. if process, knowledge, maturity of Indian wing is optimum, obviously the 'Equality' will emerge. Attrition plays an important role here.... Say if an ODC in Bangalore/Chennai is having contract with an American company for the past 6 years and with minimum attrition, then it’s the time for treating 'them' as your 'peers'
Simple Test Estimation Model
Test Effort Estimation
How do managers estimate the effort needed for software testing? There may be many in house and practical gut-feeling methods, but scientifically, the following methods are used,
- 'Percentage-of-Development' approach
- Implicit Risk-Context approach
- Metrics based approach
- Test work breakdown approach
- Iterative approach
The practical 'gut-feeling' approach may or may not indirectly follow the abovesaid approaches. None of the methods are 'recommended', as the best.
Metrics in Agile
In non-agile there are some metrics used in testing
For e.g.,
To find the efficiency of test cases, we can say
[No.of.test cases those can be mapped into defects] / [Total no.of test cases]
is one of the ratios used in traditional software testing.
How to do this in agile process, where test case itself is not important (at least , test case documentation)
Likewise, there are many ratios/metrics which were non-agile period may not be directly applicable in agile era.. looking for the conversion or in simple terms,
"What are the ratios and metrics those can be useful in agile testing?"
BlackBox Vs Agile
All these methods are trying to kill Blackbox testing and the role of black box tester. None of these methodologies, emphasize about the role of Blackbox tester. All these are telling about early testing, extensive unit testing, automating unit testing etc.
But is this true? Will these testings w/o blackbox testing achive result? I do not think so, the primary reasons being, that many 'ities' are missing the above said agile methodologies,
-Usability
-Portability
-Compatibility
etc.
are the 'ities' those are taken care by Blackbox tester which the automated unit testing cannot achieve.
But the agile development and so called agile testing is blown out of it 'deserved' proportion and it tries to occupy the land of Black box testing, which should be defeated by blackbox testers. But alas, I couldnt find proper propoganda of blackbox testers against this agile wave.
Guidelines to follow before filing defects
I created this for my team but felt it would be useful for others if i make it public
General Guidelines
Be precise
Be clear - explain it so others can reproduce the bug
One bug per report
No bug is too trivial to report - small bugs may hide big bugs
Clearly separate fact from speculation
If a bug already exists in the same area then make yours as an annotation to the existing bug instead of filing a new bug
Search the bug tracking system and ensure that the bug does not exist already
Explain the bug in a quick and understandable summary
Mention the browser, operating system, printer and other relevant details clearly
Take a snapshot of the issue if required and add them to the bug report as attachment. Try to attach a jpeg as the size would be small and can be opened easily
Mention the steps to reproduce, expected result and actual result clearly
Mention the component/module where the error occurred
If you unable to reproduce the bug consistently, please mention the same in the remarks/notes section
Have a word with your peer to just ensure if he is also facing the same issue.
Have the right service packs in place for your browser, operating system etc
If the bug is pertaining to look and feel, usability etc test it on multiple browsers before filing it
Clearly categorize the testing level where the bug was found such as unit/integration/system/acceptance
Mention the type of testing you did to unearth the bug such as smoke/regression/ad hoc etc
Build Guidelines
If the bug is identified in an older build, reproduce your bug using a recent build of the software, to see whether it has already been fixed.
Mention the build release date and build number clearly before filing the bug
Make sure that you are using the right build
Read build release notes carefully before filing a defect since the bug that you have identified could be a known issue.
Enhancement Request and Defects
An enhancement request is a case where the tester feels that the existing feature can be either enhanced with a new functionality or completely replaced with a new functionality to give the end user a better product experience. One example is to replace the option of choosing countries using multiple checkboxes by providing a user with a combo box.
A defect is a case where there the expected behavior of the system is not matching the actual behavior when testing it.
Priority/Severity Guidelines
Severity refers to how bad or critical the bug is from a functional/technical viewpoint. Severity of a bug is defined by the tester
Priority refers to the importance of fixing the bug from a customer viewpoint. Usually this is decided by the development team/manager in discussion with the QA manager/team
When assigning priority/severity for a bug, please follow the guidelines below.
P1 - Fix the bug ASAP
P2 -Bug can be fixed before release
P3 - Bug can be fixed even after release
P4 - The bug is very minor, can be fixed anytime
S1 - Blocker
S2 - Critical
S3 - Major
S4 - Trivial/Minor