How does one test license generation?
Let's say, I have an application with multiple components. I need to perform functionality testing of all system components according to license allowances.
I've dealt with functionality testing, but where to begin testing application license generation? I'm currently an intern, would love to learn - if there is anything to read on the internet regarding the matter - I would love to do so.
Any advice would be highly appreciated!
If you have a separate test environment it should be easy to setup a new user and issue various licenses to him. Then just validate that: first, the user has the correct access for the license; second, the user does not have access for areas, functionality, or capabilities that he should not have. I would set up a matrix showing the types of licenses and their capabilities then start testing against the matrix. This is no different than any other type of manual functional testing so don't be afraid of it. Jump in and get your feet wet.
The important thing is the separate environment in which to test. There you can control the users and license types without affecting anyone else.
Success is the ability to go from one failure to another with no loss of enthusiasm.
~ Winston Churchill ~
Rich hits the right areas, when I did License testing I started the same way Rich mentions handling it. Then I started talking to the people who generated licenses and asked them what they tested, removed any duplicates I had then moved on. I next worked on modifying the license, if you can, and see if the license is not recognized properly - of course then I was working with XML licenses so it was simpler. Another item to check is with the people who implement the license checking on your end, are they reporting anything with the license in the logs? Are there UI dependencies with reporting? Check those as well.
You can always ask "What else is can I check?" and you should get some good answers.
Nothing learns better than experience.
"So as I struggle with this issue I am confronted with the reality that noting is perfect."
I agree with Rich, you need to keep track of a matrix of what is "Required" to be disabled/enabled with each type of license. This is what marketing is actually putting in their marketing material or what is in the pamphlet, lol.
Apart from that there are almost always unpublished "features" being turned on and off. So ensure that these are all documented. Sometimes they are intentional, sometimes they aren't.
Also, you need to ensure that all paths leading to enabled and disabled features are turned on/off. You don't want any backdoors left open for people to access features they aren't supposed to be able to access. Also, though, you don't want any front doors closed so people cannot access features they should be able to.
A spreadsheet is the best way to keep track of all this. Once you've taken care of the typical installation, then you should also consider upgrades, downgrades, etc., if that is allowed by the system.
9 out of 10 people I prove wrong agree that I'm right. The other person is my wife.