Tools to take screen shots

  1. SnagIt
  2. Built-in Windows capture: Ctrl-Alt-PrtSc. Then Paint, if needed, to trim off any extraneous portions.
  3. FastCapture
  4. Camstudio
  5. MWSnap (http://www.mirekw.com/winfreeware/mwsnap.html)
  6. Jing from TechSmith
  7. Fullshot
  8. Greenshot
  9. TestDrive-Assist from Original Software www.orgisoft.com this tool is designed for manual testing for QA and BA specialists. Not only screen shots, but full content and annotation with built in quality checks like, spelling, link and title.
  10. Launch Telerik WebUI Test Studio 2010.2t is best software for Functional Testing and also take screenshots & prepare document for that
  11. Screenhunter (http://wisdom-soft.com/products/screenhunter_free.htm)
  12. Faststone
  13. Camstudio
  14. Captura
  15. 20/20 (http://www.sofotex.com/20/20-download_L230.html)
  16. Clip2net
  17. If you are using Firefox, a firefox add-on is available named 'FireShot'. Just try it for taking screenshot. It can also be added as a add-on in Internet Explorer too.
  18. Irfanview (http://www.irfanview.com)
  19. Firefox has pixslr grabber, so you need firefox as a browser
  20. Mezer Tools (http://www.fiddlertool.com/mezer/)
  21. Testuff, our test mangement tool, allows taking screenshots while running a test.
  22. ScreenpressoFastStone Capture for Images
  23. Screen2Exe for Video
  24. Vienna - Test Management' to automatically capture a screen shot when you raise a defect during test execution. (http://www.nmqa.com/DownloadViennaTestManagement.aspx)
  25. ScreenHunter
  26. Zap Grab
  27. Picasa
  28. Cropper capture
  29. Evernote (http://www.evernote.com/)
  30. HyperSnap
  31. Scap (http://www.1202performance.com/tools/screen-capture/)
  32. PicPick - http://www.picpick.org/
  33. Fireshot - http://screenshot-program.com/fireshot/
  34. Bugshooting.com
  35. BugDigger automatically attaches web page screenshot, environment details and other useful data to your bug report. http://bugdigger.com
  36. For manual test execution - HP Sprinter!!!!
This is a very good tool that gives the tester many cool staff and helps the tester to execute test much faster. One of the build it capability is to report a defect with annotation as well as send screenshots with annotation.
Additional cool staff in HP Sprinter:
- Automatic data injection
- Improved Usability and UI - the tester don't need to toggle between the test and the application under test
- Informative reports
- Semi automatic steps (record & replay)
- Mirror - The only tool the supply a way to validate many testing environments in one test execution

Testing a web-based application

Plan QA Schedule for Release

I am documenting all the following points on the basis of my experience, if you find any ambiguity; please provide me your valuable feedback comment so that I can make the corrections.

Before you plan any QA Schedule for the release, consider the following points to take:
  1. Name of Release
  2. List of various tasks
  3. Expected duration for particular task
  4. Expected start of particular task
  5. Expected finish of particular task
  6. Resources to be involved in particular task
  7. Actual start of particular task
  8. Actual finish of particular task
  9. Predecessors
List of high level tasks in the Release
  1. Planning
  2. Analysis
  3. Design
  4. Execution
  5. Reporting
  6. Closure Activities
Tasks activities in planning phase
  1. Get Dev Schedule to build QA Schedule (Dependency)
  2. Get Environment Information
  3. Finalize Test Schedule
  4. Create Scope Doc
Tasks activities in Analysis phase
  1. Analyze BRS & Mockups and Send Questions/Findings
  2. RAA session to answer questions
  3. Review and Analyze RAA Answers and prepare list of changes to TCs
Tasks activities in Design phase
  1. Develop positive and negative Test Scenarios
  2. Review Scenarios
  3. Develop positive and negative Test Cases
  4. Peer Review of Test Cases + Fixing Findings
  5. Create RTM
  6. Copy TCs to Other Test Beds Folders (after Review and Before Execution)
  7. Create Test Data (if needed)
MILESTONE: Test cases are finalized - Execution can begin

Tasks activities in Execution phase
  1. Smoke Test
  • Select Smoke Test Cases to be executed
  • Execute Smoke Test Cases
  • Evaluate Build (Functional Test GO/No GO)
  1. Functional Cycle
  • Execute test Cases
  • Retesting fixed bugs
  1. Regression Cycle
  • Select Test Cases to be executed
  • Start Code Freeze & Execute Regression test Cases
  1. Defect Management
  2. Buffer/Contingency- Unexpected delay from Dev/QA, Unexpected failures, bugs not fixed from first time, bad deployments, …etc
  3. UAT Cycle (release day)
  • Execute test Cases
  • Give feedback (Production GO/ No GO)
Tasks activities in Reporting phase
  1. Give TCs Development Report
  2. Give Execution Report
  3. Give Defect Report
Tasks activities in Closure Activities phase
  1. Fill in lessons learned sheet
  2. Consolidate & Give Lessons Learned sheet
  3. Get Sign off
Abbreviations
RAA – Requirement Ambiguity Analysis
RTM – Requirement Traceability Matrix
UAT – User Acceptance Testing
TC – Test Case
QA – Quality Assurance

Macro utilities for Excel

Sub ClearData()

' ClearData Macro

For RowC = 5 To Worksheets.Count

RowX = "A" & RowC 'Modify Letter for Column

Range(RowX).Select

Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

Range("I16:J16").Select

Selection.ClearContents

Sheets("Report").Select

Next RowC

ActiveWorkbook.Save

End Sub

Sub NoRun()

' NoRun Macro

For RowC = 5 To 9

RowX = "A" & RowC 'Modify Letter for Column

'

Range(RowX).Select

Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

Range("J16").Select

ActiveCell.FormulaR1C1 = "No Run"

Sheets("Report").Select

Next RowC

ActiveWorkbook.Save

End Sub

Public Sub Get_Report()

Dim i As Long

For i = 2 To Worksheets.Count

ActiveSheet.Cells(i, 1).Value = Worksheets(i).Name

ActiveSheet.Cells(i, 2).Value = Worksheets(i).Cells(3, 8).Value

ActiveSheet.Cells(i, 3).Value = Worksheets(i).Cells(3, 3).Value

ActiveSheet.Cells(i, 4).Value = Worksheets(i).Cells(16, 10).Value

ActiveSheet.Cells(i, 5).Value = Worksheets(i).Cells(16, 9).Value

Next i

End Sub

Sub hyperlink()

'

' hyperlink Macro

'

Application.ScreenUpdating = False

Dim hyper As String ' hyperlink variable

'

Dim endrow As Integer

Dim RowX As String ' Cell to change

Dim RowC As Integer 'row Counter

Dim wb As Workbook

Dim ws As Worksheet

Set wb = ThisWorkbook

Set ws = wb.ActiveSheet

endrow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

RowC = 2

Do Until RowC > endrow

RowX = "A" & RowC 'Modify Letter for Column

Range(RowX).Select

If Range(RowX).Value <> "" Then ' skips cell if blank

hyper = Range(RowX).Value

Range(RowX).Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _

"'" + hyper + "'!A" + CStr(RowC) _

, TextToDisplay:= _

hyper

End If

RowC = RowC + 1

Loop

Application.ScreenUpdating = True

End Sub

Decide What Test Cases to Automate

It is impossible to automate all testing, so it is important to determine what test cases should be automated first.

The benefit of automated testing is linked to how many times a given test can be repeated. Tests that are only performed a few times are better left for manual testing. Good test cases for automation are ones that are run frequently and require large amounts of data to perform the same action.

You can get the most benefit out of your automated testing efforts by automating:

  • Repetitive tests that run for multiple builds.
  • Tests that tend to cause human error.
  • Tests that require multiple data sets.
  • Frequently used functionality that introduces high risk conditions.
  • Tests those are impossible to perform manually.
  • Tests that run on several different hardware or software platforms and configurations.
  • Tests that take a lot of effort and time when manual testing.

Success in test automation requires careful planning and design work. Start out by creating an automation plan. This allows you to identify the initial set of tests to automate, and serve as a guide for future tests. First, you should define your goal for automated testing and determine which types of tests to automate. There are a few different types of testing, and each has its place in the testing process. For instance, unit testing is used to test a small part of the intended application. Load testing is performed when you need to know how a web service responds under a heavy workload. To test a certain piece of the application’s UI, you would use functional or GUI testing.

After determining your goal and which types of tests to automate, you should decide what actions your automated tests will perform. Don’t just create test steps that test various aspects of the application’s behavior at one time. Large, complex automated tests are difficult to edit and debug. It is best to divide your tests into several logical, smaller tests. It makes your test environment more coherent and manageable and allows you to share test code, test data and processes. You will get more opportunities to update your automated tests just by adding small tests that address new functionality. Test the functionality of your application as you add it, rather than waiting until the whole feature is implemented.

When creating tests, try to keep them small and focused on one objective. For example, separate tests for read-only versus read/write tests. This allows you to use these individual tests repeatedly without including them in every automated test.

Once you create several simple automated tests, you can group your tests into one, larger automated test. You can organize automated tests by the application’s functional area, major/minor division in the application, common functions or a base set of test data. If an automated test refers to other tests, you may need to create a test tree, where you can run tests in a specific order.

Reference: www.automatedqa.com

Time Estimation for automated scripting


Hi, I am taking one real time scenario for any desktop/web based applications need to be automated e.g. Retail application. And tool to be used is QTP or TestComplete.

Requirement- 2000 Manual Test Cases need to be converted into automated scripts mainly for regression testing.

Main points to initiate discussion or estimating the time required-
  1. How many products are there.
  2. How many transactions are there.
  3. How many type of customer are there.
  4. Which framework is to be followed. (Most of the cases, Hybrid Framework is preferred)
Way to proceed
  • Identify key areas (primary) e.g. main functionality, financial, important feature, etc.
  • Identify number of features e.g. 100.
  • Identify complexity of features (medium, high or low)
  • Divide the deliveries into different phases P1, P2 and P3.
Time Estimation
  • Go screen by screen.
  • Identify time for single screen e.g. 45min, 50min, etc.
  • High complexity scripts having more than 10 screens normally requires 8 hours time.
  • Medium complexity scripts having less than 10 screens requires 4 to 6 hours time depending on the number of screens.
Say you have identified that applications requires only 100 scripts, now divide all deliverables into different phases-
Phase1 - Study the application and gather requirement.
Phase2 - Deliver 10 automated scripts (mainly key features).
Phase3 - 20 Scripts
Phase4 - Another 20 Scripts
-
-
And so on....

Implementation
  • Choose products
  • Use parametrization using local/global sheets.
  • Do record/play in the initial phase.
  • Enhance your scripts by applying various checkpoints,etc and see the behavior.
  • If things goes well, then it is good otherwise go for descriptive programming.
  • Create actions per transactions.
  • Identify transactions that can be reusable e.g. login, logout, various actions to be used multiple time in the application.
  • Applying Recovery Scenarios in case screen is stucking at some point/