Blog/Quality Assurance

Application Test Logs in Software Testing: Types + Examples

QA engineer looking at application log

Log analysis is an important part of improving the quality of an application. However, it is often assumed that software logs are only useful to developers. This is, of course, incorrect. Some less experienced QA engineers even find looking into application logs intimidating, as it can be difficult to understand what's available there. But, if you know what you should be looking for, log analysis can be very useful in your daily work as a QA engineer. It's also useful for developers to have this information already available in the bug report. So, what should you be looking for in application logs? You should ensure that the logs contain comprehensive and relevant information to provide essential details and ensure thorough documentation and clarity.

First, you need to check that you have access to the logs of the application that you want to test. Logging is usually enabled in test environment builds, so if you have access to that, you can definitely check to see if you can find your specific application log and whether it is readable.

What is a test log?

A test log is a document or file that records the details of a software testing process. It provides a comprehensive and relevant summary of the testing activities performed, including the test cases executed, test results, test environment, and any defects or issues encountered. A test log is an essential tool for tracking and managing the testing process, enabling testers to identify patterns or trends in failures and successes, and troubleshoot issues efficiently. By maintaining a detailed test log, QA engineers can ensure that the testing phases are well-documented, making it easier to review and improve the software development project.

Components of a test log

A test log typically consists of several components, including:

  1. Test case information: This includes details about each test case executed, such as the unique identifier, description, preconditions, and expected results.
  2. Test execution details: This includes the date and time each test case was executed, as well as the test environment and test data used.
  3. Test results: This includes the actual results of each test case, including any deviations or anomalies observed during the testing process.
  4. Defects or issues: This includes a record of any defects or issues encountered during testing, including a description of the issue, the steps taken to reproduce it, and any relevant screenshots or logs.
  5. Test environment information: This includes details about the test environment, including the hardware, software, and network configurations used.

By documenting these components, a test log provides a clear and detailed account of the testing process, helping to ensure that all aspects of the test cycle are thoroughly covered.

Test log template

A test log template is a standardized format for recording test log information. It typically includes the following elements:

  1. Date and time
  2. Test case information
  3. Test execution details
  4. Test results
  5. Defects or issues
  6. Test environment information

Using a test log template can help ensure that all relevant information is captured and recorded consistently, making it easier to track and manage the testing process. A well-structured template not only streamlines the documentation process but also enhances the clarity and comprehensiveness of the test log report.

Creating and managing test logs

Creating and managing test logs is an essential part of the testing process. Here are some best practices to follow:

  1. Use a standardized test log template: Ensure consistency and completeness by using a predefined template.
  2. Record all relevant information: Include test case information, test execution details, test results, and defects or issues.
  3. Use a version control system: Track changes to the test log and ensure that all stakeholders have access to the latest version.
  4. Review and update regularly: Keep the test log accurate and relevant by reviewing and updating it regularly.
  5. Utilize test management tools: Automate the process of creating and managing test logs, and integrate with other testing tools and systems.

By following these best practices, QA engineers can maintain a detailed and organized test log, facilitating better communication and collaboration within the team.

Types of test logs

There are several types of test logs, including:

  1. Manual test logs: Created manually by testers during the testing process.
  2. Automated test logs: Generated automatically by automated testing tools and systems.
  3. Hybrid test logs: Combine manual and automated testing data to provide a comprehensive view of the testing process.
  4. Test execution logs: Record the details of test execution, including the test cases executed, test results, and test environment information.
  5. Test system logs: Document the details of the test system, including the hardware, software, and network configurations used.

Each type of test log has its own strengths and weaknesses, and the choice of which type to use will depend on the specific needs and goals of the testing project. By understanding the different types of test logs, QA engineers can select the most appropriate one to ensure a thorough and effective testing phase.

Error messages

Once you have confirmed that you have access to the application logs, it’s time to think about the different types of loglines and choose the one that would be most useful for you. There are many loglines that could be useful for QA engineers. You can think of any specific keywords that could indicate the part of the application that you found an issue on. After you find that part, you can check for errors, forbidden, failure or warning messages.

Example of error message
Example of error message. Example source: Morioh
Example of forbidden message.
Example of forbidden message. Example source: Elastic

Crash log

One of the most useful loglines that you can search for is crash log. From my experience I can tell you that this logline has saved me from reporting multiple bug tickets for the same crash. Often the same crash is happening in many different parts of the software for different reasons like lacking device memory or some device-specific reason. To look for crash loglines, you can search for keywords like ‘crash’, ‘fatal exception’, ‘stopped responding’ and ‘fatal error’.

Example of crash log
Example of crash log. Example source: Stack Overflow
Example of crash log
Example of crash log. Example source: Stack Overflow

Network failure logline

Another useful logline that you can search for, in cases when it seems that there are issues connecting to some services, is network failure logline. This is not something that is typically logged for applications but it can be very useful, at least in a test environment, when you’re running a lot of automated tests.

Example of network failure logline
Example of network failure logline. Example source: Android Developers

Packet and test data log

Example of packet log
Example of packet log. Example source: Windows Central

Last but not least is media packet logging. This is commonly used in communication applications to identify issues in calls. This is very useful for test automation reports as it can identify similar failure reasons in many different test scenarios. A test scenario is a statement that outlines how the software being tested operates, derived from the use case statement. It is important to view software testing from the user's perspective to ensure that testing aligns with user requirements and end-to-end features. Terminology for this is project specific so I'd advise to check with the developers if anything like this is implemented and how it is defined in the log lines.

An example would be sent and received packets during A/V and screen sharing meetings. Logs should show how many packets were sent and how many were received to identify if audio and video files were actually sent or received. This would clearly explain on which end the issue occurs. For instance, when a remote user doesn't receive any video, we can see that the video actually wasn't sent from the other end.

Be curious and look at applications logs

There are definitely many other loglines that can be used, so be curious when working with the developers to see if there is any information that you can find yourself when there is a specific pattern to issues that you are facing regularly. If you can’t find a logline in the app you’re testing that would really help your daily work, don’t hesitate to bring it up to your team as this can help both QA engineers and developers.

Final thoughts

Application logs are a goldmine of information that can significantly improve the efficiency and accuracy of software testing. By understanding key loglines—such as error messages, crash logs, network failure logs, and media packet logs—QA engineers can quickly pinpoint issues, streamline bug reports, and enhance collaboration with developers.

The key takeaway? Don’t be intimidated by log analysis—embrace it. Be proactive in exploring logs, identify recurring patterns, and communicate with your development team to ensure logs are structured in a way that benefits both testing and debugging. The more you familiarize yourself with log data, the more effective you’ll be in catching and resolving software issues before they reach end users.

Are you a seasoned QA engineer or maybe you’re looking to start your career in quality assurance? We’re always on the lookout for awesome new people to join our team. Check out our careers page for our latest open positions.

QA engineer having a video call with 5-start rating graphic displayed above

Deliver a product made to impress

Build a product that stands out by implementing best software QA practices.

Get started today