Software Testing

225 readers
4 users here now

Spreading knowledge on software testing and the value it can provide, as well as a location to ask questions about implementations or testing strategies or frameworks

Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS
1
2
 
 

Check out our open-source, language-agnostic mutation testing tool using LLM agents here: https://github.com/codeintegrity-ai/mutahunter

Mutation testing is a way to verify the effectiveness of your test cases. It involves creating small changes, or “mutants,” in the code and checking if the test cases can catch these changes. Unlike line coverage, which only tells you how much of the code has been executed, mutation testing tells you how well it’s been tested. We all know line coverage is BS.

That’s where Mutahunter comes in. We leverage LLM models to inject context-aware faults into your codebase. As the first AI-based mutation testing tool, Our AI-driven approach provides a full contextual understanding of the entire codebase by using the AST, enabling it to identify and inject mutations that closely resemble real vulnerabilities. This ensures comprehensive and effective testing, significantly enhancing software security and quality.

We’ve added examples for JavaScript, Python, and Go (see /examples). It can theoretically work with any programming language that provides a coverage report in Cobertura XML format (more supported soon) and has a language grammar available in TreeSitter.

Check it out and let us know what you think! We’re excited to get feedback from the community and help developers everywhere improve their code quality.

3
4
5
6
7
8
9
10
 
 

Hi, I am in the process of learning test automation, Selenium + Java at the moment. It seems that still, the best way to learn it is some kind of apprenticeship. (But there is an issue that there you will not learn best practices, just this given person/company practices). Most courses just skim topics, are not project focused, and do not talk about common problems and connected tools.

What was your approach to learn, do you have any sources to recommend? Is test automation your line of professional work?

11
 
 

cross-posted from: https://programming.dev/post/619886

As of version 3.42.0 (2023-05-16), the SQLite library consists of approximately 155.8 KSLOC of C code. (KSLOC means thousands of "Source Lines Of Code" or, in other words, lines of code excluding blank lines and comments.) By comparison, the project has 590 times as much test code and test scripts - 92053.1 KSLOC.

  • Four independently developed test harnesses
  • 100% branch test coverage in an as-deployed configuration
  • Millions and millions of test cases
  • Out-of-memory tests
  • I/O error tests
  • Crash and power loss tests
  • Fuzz tests
  • Boundary value tests
  • Disabled optimization tests
  • Regression tests
  • Malformed database tests
  • Extensive use of assert() and run-time checks
  • Valgrind analysis
  • Undefined behavior checks
  • Checklists

Related discussions:

12
 
 

Hello, I've posted this question previously but thought I might post here for a more accurate community. Apologies in advanced.

Manual QA here want to start learning Test Automation. Coming from a non-tech background will make it a bit of a challenge but I’m looking to “test” myself.

Out of the three languages (Java, JS, Py), which should I focus on learning to get the best knowledge to apply when eventually using Selenium WebDriver?

I would like to comprehend all three later on in the future but for now which is the best to start off or continue with. Many have mentioned Python is beginner-friendly approach to learning programming and less stressful, but I see a lot of tutorials for Selenium webdriver being taught using Java, Also I heard JS is being implemented a lot more and more nowadays.

13
 
 

Learn the benefits of software testing, and its role in continuous delivery.

Software testing is an organizational process within software development in which business-critical software is verified for correctness, quality, and performance. Software testing is used to ensure that expected business systems and product features behave correctly as expected