Changing GAC to folder view in Windows Server 2003/2008

on 20110329

We may often want to copy a binary from GAC for backup as part of testing different versions of builds or binaries. Here are the steps to change the GAC into folder view so that you can copy the binary.

1. Start -> Run -> regedit
2. This will open Registry
3. Follow the structure
4. My Computer -> HKEY_LOCAL_MACHINEàSOFTWARE -> Microsoft ->Fusion
5. Add new binary value name “DisableCacheViewer”
a. Select Fusion
b. Click Edit ->New->Binary Value
c. Change the name of the value to “DisableCacheViewer”
d. DisableCacheViewer àRight Click–>Modify
e. Enter 1 (Any non-zero value will also do)
6. Open GAC
a. Start->Run-> Type “c:\WINDOWS\assembly”
b. This will open the Explorer but now you will see the actual structure of the GAC in folder view

An Introduction to Software Testing

on 20090716

A Training on Introduction to Software Testing for Freshers


































Some Questions to have Answers to understand Test scope of a project and give Test Estimations

on 20090701

I’m sharing some questions to understand Test scope of a project better. Please add your thoughts too -

Process:
1. What kind of development methodology needs to be followed?
2. What test processes need to be fallowed?
3. What is the defect logging and test case design process followed by client for the project?
4. What is the Build process?
5. What is the bug triage process?
6. What is the process to inform about critical bugs which blocked further testing?
7. What is the escalation process?
8. What are acceptance or exit criteria?
9. What is the stabilization cycle? How many builds we can expect in stabilization?
10. What is test pass cycle?
11. What is release process?
12. What is UX message review process?
13. What is process of Estimation? What templates to be followed?
14. What kind of documentation is required? What is the process of reviewing and approving final documents?

Environment:
15. What is the supported OS-Browser matrix for the project?
16. Do we need to support or test in 64- bit hardware and software environments?
17. Any other hardware like touch screen interfaces/Data entry tools/Notepads used with the application?
18. Do we need to complete entire test suits in all OS-Browser matrix? Any prioritization of OS and Browsers can be made?
19. What are the specifications of test beds? Can we have offshore test bed or do we need to test in client’s environments?
20. Is testing in different desktop resolutions in scope?
21. Is testing at different internet bandwidths in scope?
22. Is Testing is Public IP machines in scope?
23. Is Testing in INT/PPE environment in scope?


Types of Testing:
24. What kind of Negative testing is in scope? Do we need to check scenarios like testing application after deleting binaries or configuration files?
25. Is the Globalization and Localization Testing in scope?
26. What kind of performance Testing is in scope? Performance testing environment?
27. Are performance benchmarks available for the application?
28. Are there any installers available for the application? What kind of installation testing is required?
29. What kind of cache and cookies testing is required?
30. What is the scope of security testing?
31. Any security testing tools available for the required technologies?
32. What is the scope of Integration testing?
33. What is the scope of API Testing?
34. What are the goals for code coverage? Is the code coverage is form both manual testing and automation?
35. Are code coverage tools available for the required technologies?


Automation:
36. What are Automation Goals?
37. What kind of automation tools or framework available for the required technologies?
38. What kind of scenarios need to be automated?
39. Do we need to cover all BVT and acceptances cases with automation?
40. What is the build Automation process? What kind of tools available and used to generate builds?
41. What is the automation execution process? What kind of tools used to run automation?
42. What OS-Browser matrix needs to be supported by automation?

Changes:
43. Do we need to support newer versions of technologies, OS, Browsers, framework and tools, if available before the release?
44. What is the Process of requirement or functionality changes?

Some Tips and Tricks to Test any application in MAC

on 20090505

Some Tips and Tricks, these may help in testing any application in Macintosh or MAC environment.

Capture Screenshot
Below shortcuts can be used to take a screenshot.
1. Command-Shift-3: Take a screenshot of the screen, and save it as a file on the desktop
2. Command-Shift-4, then select an area: Take a screenshot of an area and save it as a file on the desktop
3. Command-Shift-4, then space, then click a window: Take a screenshot of a window and save it as a file on the desktop
4. Command-Control-Shift-3: Take a screenshot of the screen, and save it to the clipboard
5. Command-Control-Shift-4, then select an area: Take a screenshot of an area and save it to the clipboard
6. Command-Control-Shift-4, then space, then click a window: Take a screenshot of a window and save it to the clipboard

Changing settings
We can change hardware or OS settings using 'System preferences' feature of MAC.
7. To change Proxy settings, Open 'System preferences' and click 'Network' under ‘Internet & Network’. In Network pane, under proxies tab, we can change the proxy settings for the required Proxy servers like Web proxy (HTTP) or Secure Web proxy (HTTPS) after selecting them.
8. To get the IP address of MAC, Open 'System preferences' and click 'Network' under ‘Internet & Network’. In Network pane, under TCP/IP tab, we can see the IP Address, DNS Servers and other details.
9. To change the Resolution of MAC, Open 'System preferences' and click 'Displays' under ‘Hardware, in Displays pane, we can change the resolution and color settings
10. Firewall can be accessible from Open 'System preferences' and click 'Sharing' under ‘Internet & Network’, in Sharing pane, select Firewall Tab

Finder
11. Finder is a feature of MAC from which we can access or go to all folders of the MAC. We can access Applications, iMAC, network path etc

Installing and Uninstalling Applications
12. Applications can be installed using the installation wizard of the application after downloading it. All Installed Applications can be viewed in Applications folder of Finder
13. To uninstall any application, just drag and drop the Application icon from Application folder to Trash.


Sharing files between MAC and Windows machines
14. We can access the share of MAC in Windows machine using IP address. iMAC folder of MAC can be accessible using IP address of MAC. To enable this, Open 'System preferences' and click 'Sharing' under ‘Internet & Network’. In Sharing pane, enable ‘Windows Sharing’ service under Services Tab. We can have write permissions on this iMAC folder based on user credentials

Right click in MAC
15. Control + Mouse click is equal to right click in MAC

Command prompt/Terminal
16. Terminal can be accessible from Utilities folder under Application folder of Finder

Host files in Web service
17. To host files in MAC web service, we need to copy those files to the 'Documents' folder in 'Library'. 'Library' can be accessible from MAC hard disk on clicking Macintosh icon in the desktop. Copy the file in the 'Documents', User can access the file using local host link like http://LocalHost/

Are you Testing Any SilverLight Application in MAC?

on 20090409

Hi All,

Any of you testing SilverLight Applications in MAC?
Make sure you have Intel based MAC or iMAC. PowerPC based MAC machines does not support SilverLight 2.0 or above. It supports only SilverLight 1.0.

So if you are testing SilverLight 2.0 or above technologies based applications in MAC, the minimum requirement is iMAC with MAC OS X version 10.4.5

Testing RMS enabled Applications

on 20090406

What is RMS?
Rights Management Services or RMS is a Microsoft Windows technology that is a form of selective functionality denial used for limiting the uses of documents such as corporate e-mail,Worddocuments, and web pages.
Advantages of RMS
This technology can be used to encrypt information stored in documents. Unauthorized decryption can be prevented through server-based policies. Only specific or authorized people or groups can decrypt the content in certain environments for certain period of time under certain conditions. Specific operations like printing, copying, editing, forwarding, and deleting can be allowed or disallowed by content authors for individual pieces of content.
Implementing RMS enabled applications
RMS enabled applications uses client-server architecture, using Windows Server 2003or Windows Server 2008 to host the Active Directory Rights Management Server that issues RMS licenses. The RMS client is required for both creating rights-protected content as well as accessing it. Applications that either create or provide access to protected content must be RMS-aware.
When restricting rights to a document, a trusted entity encrypts a random AES key with an RSA public key that can be validated with the public key certificate in the XrML identity license that is issued to an RMS server. The AES key is used to encrypt the document. When accessing a protected document using an RMS-enabled application, the RMS client runtime authenticates the recipient to the RM server, using the recipient's XrML identity license. The RM server then issues a use license that can be used by the RMS client runtime to decrypt the document. The RMS client uses this use license to provide access to the application, which enforces the document restrictions for that user.
Testing RMS enabled applications
Testing should ensure that content cannot be viewed by unauthorized users in unauthorized conditions.
I’m generalizing some of the scenarios to test to make sure the RMS enabled application is working as expected. We need to test below scenarios –
· Encryption process of the content – getting the encryption key from certificate Server and using it to encrypt the content, we should make sure that encryption key is transferred in secure protocol.
· Transferring the encrypted content to the specified user.
· Decrypting the encrypted content - Getting the Decryption key from the Server and decrypting the content, we should make sure that decryption key is transferred in to the correct destination. This should be transferred only to the machine or user which is RMS enabled and registered in the Server.
· Verify decryption process – Is it one time decryption for content or is the content decryption required for each view of the content? If it is required to decrypt for each view of the content, is the decryption key should be downloaded from server every time? If it is one time decryption, where will the content stored to view for the next time?
· Using the application in offline support, if supported – Use the application, view content when the user is not online, Verify the certificate or license which is used to decrypt the content offline. Verify, is it secure to store the certificate or license in the local drive?
· Getting the license or certificate regular interval from the server – how frequently the certificate is downloaded? What if user is offline during the time when the certificate needs to be downloaded?
· Verify the decryption of the content when the decryption certificate is expired
· Verify application behavior when the system time is changed or machine is moved other time zone, does the application should work with existing certificate or need to get new certificate to decrypt the content?
· Verify the decryption of the content using the decryption certificate of the another user or another machine – Decryption should not happen, for each and every decryption of content, application should check for correct user name or machine details or content details in the certificate, it should not allow to decrypt content with other machine’s or user’s certificate or certificate generated for a particular content.
· Viewing the encrypted content without decryption- Content should not be displayed to the user, if s/he tries to open the content without using the RMS enabled application.
· Verify the application when the RMS server or content server is down, user should not be allowed to get the content or certificate to view the content
· Performance testing during encryption of the content and decryption of the content, see encryption and decryption when the hard disc does not have the minimum required space
· Performance testing when multiple requests for RMS certificate at the same time from the RMS server
· Verify log of the application for any encryption keys or certificate or license values, no license key or security information should be logged in the log files

Testing software Licenses

on 20090128

What is Software License?

Software license is a file that verifies User’s permission to use a software program. Usually, a license is used to activate the software for the user and can be used over a period of time, after which the user has to renew it again by connecting to internet.

What is License Management?

License Management feature covers the acquisition, storage, usage (binding), backup/restore and destruction (deletion) of licenses.

What need to be tested?

· 1 X 1 Licenses: These licenses should be useful only for one machine and one user. If we try to use the same license in another machine or for another user product, it should give an appropriate error message.

· n X n Licenses: These are licenses for multiple machines and multiple users. For ex: 1X2 license should be allowed to activate the product in single machine for two different users and 2X1 license should be allowed to activate the product in 2 machines for the same user.

· License specific to a User: Here we need to make sure that license file created for a user while activating the product should not be useful for the other user in the same machine or in different machine by copying to another machine or user’s folder.

· License specific to a Machine: Here we need to make sure that license file created for a machine while activating the product should not be useful in other machine for the same user or different user.

· Checking validity of license while using the product every time (Online/Offline): When user logs-in to the product, product should check for the validity of the license. We may use the product while it is online to the license server or it may be offline. So this validity check should be done in both cases.

· Checking License expiration: We need to make sure that license expires after the period specified by the license provider.

· Renewal of License files from Server: In some products, license may be renewed in frequent intervals if the user is online. The functionality of the product should remain intact after license renewal.

· Checking License validation process: We need to know the way license is validated while using the product. Many products validate the license only when the user logs-in to the applications. If the user doesn’t log-out, S/he may use the product after license expiration. We many need to control this process. In our project we used Tickers to check the license at frequent intervals even though the user is not logged-out

· Checking License after changing the System Time (forward/Backward): Some license servers detect the change in system time settings. We need to check the product functionality when the system time is changed like rolling the time forward or backward.

· Checking License while installing after changing the System Time: We also need to check the installation of the product after changing the system time. If we install the product at different system time, it should not allow using the product.

· Checking Time Zone dependency on License file: Licenses created for the product should be useful in any time zones. The license validity or expiration time should not be changed even though time zone setting is changed in the machine

-GuruQualityGuru