Followers

Thursday, April 15, 2010

MSCRM 4.0 - Message Error "The Path is not of a Legal Form"


-->
“The Path is not of a Legal Form” while installing the Dynamics CRM Data Migration Manager Setup or outlook client"

While I was installing the Microsoft Dynamics CRM Data Migration Manager Setup I come across to received an error message saying " The Path is not of a Legal Form" As I select the install directory

-->

However, the specified folder was “C:\Program Files\Microsoft Dynamics CRM Data Migration Manager” and it was present on the C drive. It may be occur due to following reasons Windows update, Update Rollup for Microsoft Dynamics CRM 4.0. The solution for this reason is to update manually the registry.
Go to : run\regedit
Key:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\59DD8CB00184F24E99A62CF4D6109FA\InstallProperties]
Name : InstallLocation
Set the Data value to “C:\Program Files\Microsoft Dynamics CRM”

This was empty on installation Now after this minor modification, setup will continued without an error

Monday, April 5, 2010

SQA - FAQ

What is Gray Box Testing?
A Combination of Black Box and White Box testing Methodologies?

Black Box testing:
Black Box Testing is that type of testing that does not include any knowledge of internal design or coding structure , This strategy is basically focus and base upon requirement specification and functional specification of a system. Black box testing sometime also called functional / Behavior or close box testing. There are following type of Black box testing :

1. Functional Testing
2. Stress Testing
3. Load Testing
4. Ad-Hoc Testing
5. Exploratory testing
6. Usability testing
7. Smoke testing
8. Volume testing
9. User acceptance testing
10. Alpha Testing
11. Beta Testing

Functional Testing:
This type of testing is base on functional requirement of a system, The test are written in order to check if the application behave as expected

Stress/Load testing:
Is tested against the heavy load such as complex numerical data, Large number of input, and Large number of query etc. The test are written in order to check if the application performance degrades

Ad-Hoc Testing:
Ad-Hoc testing is done without any formal Test Plan or Test case Creation, This type of testing is basically perform to know the scope and duration of various other testing. The tester test the system functionality randomly

Exploratory Testing:
Is similar to Ad-Hoc testing in order to check , explore, and learn about the system functionality .

Usability testing:
Test is done for "User Friendliness" and if a user interface of the application stands an important consideration to specific type of user the usability test is performed.

Smoke testing:
Test is done in order check the major piece of software functions work properly without failing up to least expected level.

Volume testing:
The huge amount of data pass through the application to see the extreme limitation of a system
Testing where user plays a Role/User is Required


Alpha Testing:
The users are invited at the development center where they use the application and the developers note down every particular input or action carried out by the user.

User Acceptance Testing:
The software is handed over to the user in order to find out if the software meets the user expectations and work as it is expected to.

Beta Testing:
The software is distributed as a beta version to the users and users test the application at their sites. As they uses and explore the software, and find any exception / defect occurs that is reported to the development department.

White Box Testing:
This type of testing include the internal logical design and structure of the Codes, white box testing is also called glass, Open, Clear and structure testing. There are following white box testing:

12. Unit Testing
13. Static and dynamic Analysis
14. Statement Coverage
15. Branch Coverage
16. Security Testing
17. Mutation/Regression Testing


Unit Testing:
Unit Test are done by developer in order to check if the particular module or unit of code is working fine or not.

Static and Dynamic Analysis:
Static analysis - involves in going through the code in order to find out any possible defect in the code. Dynamic analysis - involves by executing the code and analyzing the output.

Statement Coverage:
The code is executed in such a manner that every statement of the application is executed at least once. It helps in assuring that all the statements execute without any side effect.

Branch Coverage:
Validating all the branches in the code and making sure that no branching leads to abnormal behavior of the application.

Security Testing:
Security Testing is perform in order to find out how well the system can protect itself from unauthorized access, hacking - cracking, any code damage etc. This type of testing needs sophisticated testing techniques.

Mutation Testing:
The application is tested for the code that was modified after fixing a particular bug/defect. It also helps in finding out which code and which strategy of coding can help in developing the functionality effectively.

Why testing is Performed?

• To Assess Functionality
• To Assess Performance
• To Locate Incorrect Missing Functions
• To Detect Logic Error etc.

Objectives of Testing?
• Get Maximum Bugs Fixed
• You can't Test a Program Completely
• What Can and What Can't Be Tested

Testing Documentation

• Test Plan
• Test Cases
• Test Cases Review
• Requirements validation matrix
• Defect Reports
• Final Test Summary Report

Test Plan
Scope
○ Data Entry
○ Reports
○ File Transfer
○ Functionality
○ Reviews
○ Security
Testing Strategy
Environment Requirements
  • How Many Data Entry Workstations
  • Production Environment
Test Schedule Plan (Date / Time)
○ System Test / Functional Test
○ Ad-Hoc Test / Explorative Testing
Performance Test
  • Stress Test
  • Volume Test
  • Load Test
○ Security Test (Verify That Unauthorized User Access to Confidential Data is Prevented)
○ Usability Test
○ Smoke Test
○ Recovery Test
○ Alpha Testing
○ User Acceptance Testing
○ Beta Testing

Control Procedures
○ Requirements Review
○ Design Review
○ Code Review
○ Test Plan Review
○ Test Case Review
○ Final Test Summary Review

• Bug Review Meetings
• Change Request
• Defect Reporting
• Resources & Responsibilities
• Deliverable

Role of QA
  • Create Quality Awareness
  • Analyze Errors
  • Develop Standards and Guidelines
  • Conduct Reviews
  • Ensure A Quality Environment
  • Provide Technical Advice

Type of Software Error
  • User Interface Error
  • Boundary Error (An invalid value entered into an application. For example, if a number is higher or lower than a range of values or there are too many characters in a text entry, a boundary error occurs.)
  • Calculation Error
  • Control Flow Error
  • Hardware Error
  • Documentation Error
  • Test Error

What are 4 Common problems in the software development Process
  • Poor Requirements
  • Unrealistic schedule
  • Inadequate Testing
  • Miscommunication

What are 5 common solutions to software development problem?
  • Solid Requirements
  • Realistic Schedules
  • Adequate testing
  • Stick to initial requirements as much as possible
  • Proper Communication Plan

What are the Major differences between stress testing, Load Testing, Volume Testing?
  • Stress Testing: Mean check the performance at each level.
  • Load Testing: Mean check the performance at that level - end level
  • Volume Testing: Mean test the application with certain amount of data

What is difference between a Test Plan, A test Strategy , A Test Scenario, and A Test Case? And What is their order of succession in the STLC?
  • Test Strategy: Document describe the Reasonable Test
  • Test Plan: Document describe the Scope, Approach, Resource & Schedule
  • Test Scenario: Document describe the Procedure of Reasonable Test
  • Test Case: Document describe "How to Test"
  • STLC Order: Test Strategy, Test Plan, Test Scenario, Test Case


What is Bug?
A Fault in a program which causes the program to perform in an unintended or unanticipated manner.

What is Regression Testing?
Retesting a previously tested program following modification to ensure that faults have not been introduced or uncovered as a result of the changes made.