How to find bugs fast in a software tester role? #22

The mission of the position TESTER may vary based on the industry, company, project, or the personalities of the team.When you work as a tester, be clear about your mission [mission of your position]. If you are not sure…ask the management – what is the mission of the position – what are your responsibilities. You may have to check these time to time and align your activities with the mission of the position.

Example Missions for a Software Tester Role

  • Find important bugs fast
  • Assess the general quality of the product
  • Certify that the product meets a particular standard.

How to Find important bugs fast

  • First, test things that are changed recently than that are the same
  • Test core functions before the contributing functions
  • Test capabilities first, then go for reliability
  • Test common situations before the esoteric situations
  • Test common threats before the rare threats
  • Test high impact problems before the low impact problems
  • Test the most wanted areas/features before the features/areas that are not requested

From: http://sitestree.com/?p=5266
Categories:22
Tags:
Post Data:2009-02-23 19:16:31

    Shop Online: <a href='https://www.ShopForSoul.com/' target='new' rel="noopener">https://www.ShopForSoul.com/</a>
    (Big Data, Cloud, Security, Machine Learning): Courses: <a href='http://Training.SitesTree.com' target='new' rel="noopener"> http://Training.SitesTree.com</a> 
    In Bengali: <a href='http://Bangla.SaLearningSchool.com' target='new' rel="noopener">http://Bangla.SaLearningSchool.com</a>
    <a href='http://SitesTree.com' target='new' rel="noopener">http://SitesTree.com</a>
    8112223 Canada Inc./JustEtc: <a href='http://JustEtc.net' target='new' rel="noopener">http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning) </a>
    Shop Online: <a href='https://www.ShopForSoul.com'> https://www.ShopForSoul.com/</a>
    Medium: <a href='https://medium.com/@SayedAhmedCanada' target='new' rel="noopener"> https://medium.com/@SayedAhmedCanada </a>

Developer testing: Some Talk #22

Developer testing: Some Talk

  • Thinking about test cases before writing the code may become handy sometimes. If you think before then hopefully, you will also write code that will avoid those errors/test cases. The thinking time is almost equal.
  • Check for both the control flow and the data flow of your code.
  • Check that each of your statements work right.
  • Check that you do not have errors in your test data.
  • Keep test records and how did you solve errors.
  • Learn from your mistakes, what kinds of mistakes you usually make.

From: http://sitestree.com/?p=4829
Categories:22
Tags:
Post Data:2007-04-04 11:08:59

    Shop Online: <a href='https://www.ShopForSoul.com/' target='new' rel="noopener">https://www.ShopForSoul.com/</a>
    (Big Data, Cloud, Security, Machine Learning): Courses: <a href='http://Training.SitesTree.com' target='new' rel="noopener"> http://Training.SitesTree.com</a> 
    In Bengali: <a href='http://Bangla.SaLearningSchool.com' target='new' rel="noopener">http://Bangla.SaLearningSchool.com</a>
    <a href='http://SitesTree.com' target='new' rel="noopener">http://SitesTree.com</a>
    8112223 Canada Inc./JustEtc: <a href='http://JustEtc.net' target='new' rel="noopener">http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning) </a>
    Shop Online: <a href='https://www.ShopForSoul.com'> https://www.ShopForSoul.com/</a>
    Medium: <a href='https://medium.com/@SayedAhmedCanada' target='new' rel="noopener"> https://medium.com/@SayedAhmedCanada </a>

Should developers test software? #22

Not really my opinion; however, as found in different articles and opinions. You may have a business case to utilize developers for software testing; Also, your developers may end up being a good tester as well, and happily willing to do the software testing work.

Should developers test software?

Software testing is testers’ work not software developers’ work. Usually big and reputed companies keep testers whose sole purpose is testing where development is for the developers. Software architectures/frameworks like Microsoft Solution Framework do not mix software development and testing to the single/same role. Though software testing is sometimes mixed with business analyst [may be also with project managers, architects] role as they some/many times need to ensure software acceptance/quality.

Another note here, Companies such as Microsoft prefers Software Developers with some additional skills in software testing/software quality assurance related positions.Software testing is not best suited to software development role for reasons as below (though it does not mean that software developers cannot and will not test software. Also, it is not the case that developers do not test; for a large % of cases, software developers also test software):

1. The goal of software testing is just the reverse of software development. The aim of the developers’ is to try to prevent errors and make sure the code runs but testers aim to find errors.
2. Testing can never proof absence of errors. So, the question is when the developers need to stop testing?
3. Testing by itself does not improve software quality.
4. Testing requires you to assume you will find errors. But developers usually after writing the code assume the code is working/(he wrote it right, he wanted to write it right, so it should be right, though it’s not practical/best thought).

5. Developers are usually biased that the software feature work, just after implementing it. Developers also know, how to use the software. What are very trivial for a software developer (how to use the software), may not be understood by others. Developers may end up using the softare in almost the right way and may miss some issues. This may not be right all the time; however, sometimes this will be the case6. Software developers may not deal with the end users all the time; may not understnad the usage pattern or knowledge/experience level of the end users. Also, may not always be aware, how the software will be used; if this is the case, it may lead to undiscovered issues.Another note here is, a software feature is written and it worked for the developer, does not mean that it will work. It needs to be tested separately to ensure that it works. Just because the code is written and it worked for some cases does not mean that it will work all the time and in all situations and use cases. If you want a good and reliable software, you need to invest the time and money, to identify use cases, and possible ways to interact/use that software or the software feature, then test and ensure that the software work to some acceptable (define what this means to you) extent.It may also be useful, if developers use a different time (not immediately after writing the software) to plan and test the software or the feature just got implemented. When taking time off from the code, the bias may be gone and the developer may end up testing like a user or with a test’s mindset. He may also discover the limitations of his or her code when taken some time away from the code.However, testing like Unit testing, component testing, integration testing are the developers work. Sometimes, regression testing and system testing are also required to be done by developers [ thought to be their responsibilities not testers ].

Unit Testing: Test separately a single complete class, a single routine, a small program

Component Testing: Involves testing of classes, packages, small programs separately from the complete system that are developed by multiple programmers.

Integration Testing: Involves testing two or more classes or packages, components, and subsystems that are developed by multiple programmers. It can be done on an ongoing basis, just when every new class is written, it can be tested with other classes as a whole and/or pairwise [if applicable].

Regression Testing: Execute the same set of tests that were executed before and no errors were found.

System Testing: Involves testing the software in it’s final state. Integrated with other software and/or with different hardware platforms. Tests for timing, security, performance and other issues that could not be tested at lower levels.

From: http://sitestree.com/?p=4822
Categories:22
Tags:
Post Data:2009-09-12 13:04:04

    Shop Online: <a href='https://www.ShopForSoul.com/' target='new' rel="noopener">https://www.ShopForSoul.com/</a>
    (Big Data, Cloud, Security, Machine Learning): Courses: <a href='http://Training.SitesTree.com' target='new' rel="noopener"> http://Training.SitesTree.com</a> 
    In Bengali: <a href='http://Bangla.SaLearningSchool.com' target='new' rel="noopener">http://Bangla.SaLearningSchool.com</a>
    <a href='http://SitesTree.com' target='new' rel="noopener">http://SitesTree.com</a>
    8112223 Canada Inc./JustEtc: <a href='http://JustEtc.net' target='new' rel="noopener">http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning) </a>
    Shop Online: <a href='https://www.ShopForSoul.com'> https://www.ShopForSoul.com/</a>
    Medium: <a href='https://medium.com/@SayedAhmedCanada' target='new' rel="noopener"> https://medium.com/@SayedAhmedCanada </a>

Key Strategies in Software Debugging #22

Key Strategies in Software Debugging.

1. Understand the requirements well. Design the software well. Code well.
These will reduce the number of defects in your system.

2. Don’t use random guessing about defects. Use a systematic and scientific method to detect and fix bugs.

3. Identify the root cause of a defect. Understand the program and then try to solve

4. Set the compiler warning in it’s pickiest level. Solve all the issues as listed in the warning messages

5. Make wise use of debugging tools but use your brain in parallel.

Debugging? Is a process to find the cause of an error/issue/defect whereas testing is the process to find the error/defect in the first place.

Defects are opportunities for a good programmer. How? When you are a good programmer, you will code well.

Still if you have defects than something is missing somewhere, it will give you opportunities to learn many stuffs like:

1. Check: Did you understand the program/requirements?

2. Learn: what kinds of mistakes you make

3. Learn: how you solve problems4. How you fix defects
When you know your own patterns then there will be opportunities to improve yourself.

Bad ways to debug software:

1. Find defects by random guessing, by using print statements randomly.

2. Don’t try to understand the program just find the defect and fix

3. Use most obvious fix. You see the code does not work for 23 as input otherwise fine. So write a special case for 23

4. Debugging by superstition.


Finding a Defect

Scientific method of debugging

1. Stabilize the error through experiments. Be sure about the error and when it happens.

2. Gather the data through repeatable experiments that produces the defect

3. Form a hypothesis that states the cause of the error

4. Design experiments to prove or disprove the hypothesis.

5. Prove or disprove the hypothesis.

6. Repeat as needed

7. Fix the defect

8. Test the fix

9. Look for similar errors in your code.

Checklist for finding defects:

Reproduce the same error in several different ways.

Brainstorm for possible hypotheses

Use a notepad to list the things to try

Find the suspicious region of your code

Check the error-prone classes and routines

Check recently modified/added codes

Check for common defects

Check region by region. Expand your region after one region is covered

Talk to someone about the problem

Relax a bit. It works great sometimes.

Reference: Code Complete, 2nd Edition by Steve McConnel

From: http://sitestree.com/?p=4780
Categories:22
Tags:
Post Data:2006-11-06 07:32:26

    Shop Online: <a href='https://www.ShopForSoul.com/' target='new' rel="noopener">https://www.ShopForSoul.com/</a>
    (Big Data, Cloud, Security, Machine Learning): Courses: <a href='http://Training.SitesTree.com' target='new' rel="noopener"> http://Training.SitesTree.com</a> 
    In Bengali: <a href='http://Bangla.SaLearningSchool.com' target='new' rel="noopener">http://Bangla.SaLearningSchool.com</a>
    <a href='http://SitesTree.com' target='new' rel="noopener">http://SitesTree.com</a>
    8112223 Canada Inc./JustEtc: <a href='http://JustEtc.net' target='new' rel="noopener">http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning) </a>
    Shop Online: <a href='https://www.ShopForSoul.com'> https://www.ShopForSoul.com/</a>
    Medium: <a href='https://medium.com/@SayedAhmedCanada' target='new' rel="noopener"> https://medium.com/@SayedAhmedCanada </a>

.Net Remoting/ Windows Services #24

From: http://sitestree.com/?p=5230
Categories:24
Tags:
Post Data:2012-10-07 01:02:12

    Shop Online: <a href='https://www.ShopForSoul.com/' target='new' rel="noopener">https://www.ShopForSoul.com/</a>
    (Big Data, Cloud, Security, Machine Learning): Courses: <a href='http://Training.SitesTree.com' target='new' rel="noopener"> http://Training.SitesTree.com</a> 
    In Bengali: <a href='http://Bangla.SaLearningSchool.com' target='new' rel="noopener">http://Bangla.SaLearningSchool.com</a>
    <a href='http://SitesTree.com' target='new' rel="noopener">http://SitesTree.com</a>
    8112223 Canada Inc./JustEtc: <a href='http://JustEtc.net' target='new' rel="noopener">http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning) </a>
    Shop Online: <a href='https://www.ShopForSoul.com'> https://www.ShopForSoul.com/</a>
    Medium: <a href='https://medium.com/@SayedAhmedCanada' target='new' rel="noopener"> https://medium.com/@SayedAhmedCanada </a>

Creating and Consuming XML Web Services #24

  • visual studio .net -> File Menu -> new project -> Visual Basic/C# projects -> ASP.Net Web Service -> The project will get created
  • Some Files as created: AssemblyInfo.cs/vb: sharing and reuse in the CLR, Web.config, service1.asmx, service1.asmx.cs/vb
  • Create web service methods in the asmx.vb/cs files. A sample web-service method is already there
  • Now you can build the project using the Build Solution option
  • You can start the application, using the start option in the debug menu
  • Check other short-notes as listed in: http://www.justetc.net/knowledge/index.php?table=Articles&categoryID=24 to know different aspects of web service programming
  • You can publish the web-service using the publish option in the popup menu from the solution explorer. or the publish option in the build menu
  • Then you are required to change some configuration in the IIS server such as give directory browsing permission, make the virtual directory an IIS application, provide execute permission
  • XML WebService Discovery Mechanism: enables a client application to locate or discover the documents that describe an XML Web Service
  • You may want to create a discovery file and deploy in your web-server so that clients can know your services and make use of them.
  • To create, client application for a web-service, first you have to have the permission to access, then you need to add a web-reference to that service from your application
  • Create a proxy class, create an object of that proxy class, call the web service methods using this proxy object
  • You may want to use serialization and deserialization while communicating with the web-services

From: http://sitestree.com/?p=5229
Categories:24
Tags:
Post Data:2007-12-19 00:46:24

    Shop Online: <a href='https://www.ShopForSoul.com/' target='new' rel="noopener">https://www.ShopForSoul.com/</a>
    (Big Data, Cloud, Security, Machine Learning): Courses: <a href='http://Training.SitesTree.com' target='new' rel="noopener"> http://Training.SitesTree.com</a> 
    In Bengali: <a href='http://Bangla.SaLearningSchool.com' target='new' rel="noopener">http://Bangla.SaLearningSchool.com</a>
    <a href='http://SitesTree.com' target='new' rel="noopener">http://SitesTree.com</a>
    8112223 Canada Inc./JustEtc: <a href='http://JustEtc.net' target='new' rel="noopener">http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning) </a>
    Shop Online: <a href='https://www.ShopForSoul.com'> https://www.ShopForSoul.com/</a>
    Medium: <a href='https://medium.com/@SayedAhmedCanada' target='new' rel="noopener"> https://medium.com/@SayedAhmedCanada </a>

Advanced Topics in .Net XML Web Services #24

  • SOAP Extensions: “SOAP Extensions are components that can access the SOAP messages. Think of them as objects that sit on the HTTP pipeline who can pick the SOAP messages at each stage and manipulate them.

    When the HTTP request comes from the client, it is handled by aspnet_isapi.dll. The appropriate handler for web services will be called and the web method will be invoked. It is during this stage where the SOAP Extension comes into picture. The SOAP Extension can access the SOAP message before and after calling the web method. Thus we now know in a vague manner what a SOAP extension is and where it fits in the life cycle of a SOAP message.

    SOAP Extensions can be used for a number of purposes. They can be used to secure web services, compress the verbose SOAP messages, log messages etc. In this article, we will see how to encrypt the SOAP message and send it over the network using SOAP Extensions.

    “Reference:Securing web services using SOAP extensions

  • You can use the web.config file to configure the SOAP Extensions to use and the priority of the SOAP extensions.
  • Configuring and Securing a Web Service: You can use the following elements of the web.config file to Configure a Web Service:

    compilation: compilation language and debug mode
    customErrors: On off remoteonly
    authentication: set to Windows Forms Passport None
    authorization: set users attribute to * ? or similar
    trace: enable disable application level tracing
    globalization: set globalization settings

  • Authentication: Windows: default – Windows and IIS authenticationForms: Use HTML forms to collect login credentialsPassport: Use a third party centralized authentication service using keysNone: no authentication required
  • Authorization: example:

From: http://sitestree.com/?p=5228
Categories:24
Tags:
Post Data:2013-01-13 09:19:13

    Shop Online: <a href='https://www.ShopForSoul.com/' target='new' rel="noopener">https://www.ShopForSoul.com/</a>
    (Big Data, Cloud, Security, Machine Learning): Courses: <a href='http://Training.SitesTree.com' target='new' rel="noopener"> http://Training.SitesTree.com</a> 
    In Bengali: <a href='http://Bangla.SaLearningSchool.com' target='new' rel="noopener">http://Bangla.SaLearningSchool.com</a>
    <a href='http://SitesTree.com' target='new' rel="noopener">http://SitesTree.com</a>
    8112223 Canada Inc./JustEtc: <a href='http://JustEtc.net' target='new' rel="noopener">http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning) </a>
    Shop Online: <a href='https://www.ShopForSoul.com'> https://www.ShopForSoul.com/</a>
    Medium: <a href='https://medium.com/@SayedAhmedCanada' target='new' rel="noopener"> https://medium.com/@SayedAhmedCanada </a>

Debugging in .Net, (XML Web Services) #24

May not make sense to all. Just listing some related notes.

  • Tools: DbgClr – GUI Based, CorDbg – command line based
  • You can use the debug menu. Start, Step Into, Step Over, New Breakpoint options – as available in most Good to great IDEs for debugging
  • Watch Window: Check the values of variables and expressions
  • Call Stack Window: Function and procedure calls currently on stack
  • Locals Window: Variables that are local to current context
  • Autos Window: Variables in the current statement and in the previous statement
  • Breakpoints Window: Function break point, file breakpoint, address breakpoint, data breakpoint. Gives information on breakpoints – name, condition, hit count
  • Debug XML Web-services: During Development: Place break points in the line where you want to start your debugging. Start the application, keep on executing, and come to the point where the breakpointed (never mind – my invention) statement will execute. Now you can use other windows (watch, call stack,..)
  • Debug XML Web-services: After Deployment: Open the XML webservice in IE, from visual studio debug menu select processes -> aspnet_wp.exe then select Common Language Runtime, select the program to debug, close process dialog box. From visual studio, open the code behind the file that you want to debug, then set breakpoints there
  • Debug Must: In the web.config file, set debug=true.
  • Along with debugging, you can use tracing to collect runtime information for debugging purpose.
  • Three types of Tracing: TextWriterTraceListener: Write messages to an object of the TextWriter class. EventlogTraceListener: Write messages to event logs. DefaultTraceListener: Send debug messages to the output window.
  • As tracing usually generates a lot of information, it’s better that you turn off tracing while you don’t intend to use it. Use TraceSwitch classes for the purpose

From: http://sitestree.com/?p=5226
Categories:24
Tags:
Post Data:2008-02-16 11:45:08

    Shop Online: <a href='https://www.ShopForSoul.com/' target='new' rel="noopener">https://www.ShopForSoul.com/</a>
    (Big Data, Cloud, Security, Machine Learning): Courses: <a href='http://Training.SitesTree.com' target='new' rel="noopener"> http://Training.SitesTree.com</a> 
    In Bengali: <a href='http://Bangla.SaLearningSchool.com' target='new' rel="noopener">http://Bangla.SaLearningSchool.com</a>
    <a href='http://SitesTree.com' target='new' rel="noopener">http://SitesTree.com</a>
    8112223 Canada Inc./JustEtc: <a href='http://JustEtc.net' target='new' rel="noopener">http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning) </a>
    Shop Online: <a href='https://www.ShopForSoul.com'> https://www.ShopForSoul.com/</a>
    Medium: <a href='https://medium.com/@SayedAhmedCanada' target='new' rel="noopener"> https://medium.com/@SayedAhmedCanada </a>

Advanced XML Web Services Programming #24

Attributes of a web method. Using attributes, you can define the behavior of the methods exposed.
Syntax

VB.net

_
Public Function ….

C#
[WebMethod (BufferResponse=false)]public int HelloWorld(){……

Attributes:

  • BufferResponse: Should the response be buffered?
  • CacheDuration: Number of seconds the response is cached in memory
  • Description: Describe a web method
  • EnableSession: Should session state be enabled or not?
  • MessageName: Alias to a web method
  • TransactionOption: Transaction support for a web-method

Creating Asynchronous methods: later ……

From: http://sitestree.com/?p=5225
Categories:24
Tags:
Post Data:2011-05-16 15:16:30

    Shop Online: <a href='https://www.ShopForSoul.com/' target='new' rel="noopener">https://www.ShopForSoul.com/</a>
    (Big Data, Cloud, Security, Machine Learning): Courses: <a href='http://Training.SitesTree.com' target='new' rel="noopener"> http://Training.SitesTree.com</a> 
    In Bengali: <a href='http://Bangla.SaLearningSchool.com' target='new' rel="noopener">http://Bangla.SaLearningSchool.com</a>
    <a href='http://SitesTree.com' target='new' rel="noopener">http://SitesTree.com</a>
    8112223 Canada Inc./JustEtc: <a href='http://JustEtc.net' target='new' rel="noopener">http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning) </a>
    Shop Online: <a href='https://www.ShopForSoul.com'> https://www.ShopForSoul.com/</a>
    Medium: <a href='https://medium.com/@SayedAhmedCanada' target='new' rel="noopener"> https://medium.com/@SayedAhmedCanada </a>

XmlTextReader Overview #24

Overview of .Net XmlReader and XmlWriter Object

XmlReader

Can read XML data both from file or stream. Readonly access. Also, provides information about the XML data. XmlTextReader class is derived from XmlReader. It provides faster access to XML data though it does not support validating DTD or XML schema. XmlValidatingReader class supports both DTD and schema validation. Attributes of XmlTextWriter class areAttributeCount,Depth,HasAttributes,HasValue,IsEmptyElement, Item,Value. Some methods are: IsStartElement, MoveToElement, MoveToFirstAttribute, MoveToNextAttribute, Read, ReadAttributeValue, ReadString, ReadStartElement, ReadEndElement, Skip

Example
   dim reader as New XmlTextReader("")   while reader.Read() select case reader.Nodetype     case XmlNodeType.Element            Console.Write("")   if reader.HasAttributes then   while reader.movetonextAttribute()   Console.Write(reader.value)   End While   end if  case XmlNodeType.Text Console.Write(reader.value)       case XmlNodeType.EndElement   Console.WriteLine("")end selectend while

From: http://sitestree.com/?p=4748
Categories:24
Tags:
Post Data:2011-10-11 17:18:58

    Shop Online: <a href='https://www.ShopForSoul.com/' target='new' rel="noopener">https://www.ShopForSoul.com/</a>
    (Big Data, Cloud, Security, Machine Learning): Courses: <a href='http://Training.SitesTree.com' target='new' rel="noopener"> http://Training.SitesTree.com</a> 
    In Bengali: <a href='http://Bangla.SaLearningSchool.com' target='new' rel="noopener">http://Bangla.SaLearningSchool.com</a>
    <a href='http://SitesTree.com' target='new' rel="noopener">http://SitesTree.com</a>
    8112223 Canada Inc./JustEtc: <a href='http://JustEtc.net' target='new' rel="noopener">http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning) </a>
    Shop Online: <a href='https://www.ShopForSoul.com'> https://www.ShopForSoul.com/</a>
    Medium: <a href='https://medium.com/@SayedAhmedCanada' target='new' rel="noopener"> https://medium.com/@SayedAhmedCanada </a>